2011/07/01

symfonyで関数定義されているコード(ファイル)を検索

symfonyに慣れていると、クラスやメソッド、関数定義が何処にあるかだいたい判るようになるみたいです。しかし、初心者は定義を探すのに苦労します。
symfonyの定義が、linuxのコマンドでとりあえずファイルまで分かります。
あとはソースコードをひたすら眺めることになるのですが。
(windowsのxampp環境だとファイル検索が使えるので何も問題ない)

・コマンドの例、symfonyのパスは自分の環境に合わせて下さい。
$ find /usr/share/pear/symfony/ | xargs grep "function-id"
symfonyのパスになければ、プロジェクトにあるかもしれません。

・コードの例、アクション
public function executeForm()
{
    $this->temp_value = $this->getRequestParameter('temp_value');
    return sfView::SUCCESS;
}

・コードの例、テンプレート
<?php echo $temp_value?>
<?php echo form_tag("default/form" ,"method=post") ?>
<?php echo input_tag("temp_value", "", array('maxlength' => 10)) ?>
<?php echo submit_tag("入力する") ?></div>
</form>

・ここで「getRequestParameter」を探すと、
$ find /usr/share/pear/symfony/ | xargs grep "getRequestParameter"
/usr/share/pear/symfony/generator/sfCrudGenerator.class.php:      $params[] = "\$this->getRequestParameter('".sfInflector::underscore($pk->getPhpName())."')";
/usr/share/pear/symfony/generator/sfCrudGenerator.class.php:      $test_pks[] = sprintf("!\$this->getRequestParameter(%s)", $fieldNameAsArgument ? "\$$fieldName" : "'".$fieldName."'");
/usr/share/pear/symfony/generator/sfCrudGenerator.class.php:      $retrieve_params[] = "\$this->getRequestParameter(\$$fieldName)";
/usr/share/pear/symfony/action/sfComponent.class.php:  public function getRequestParameter($name, $default = null)

ファイル:/usr/share/pear/symfony/action/sfComponent.class.php
定義:public function getRequestParameter($name, $default = null)

・「form_tag」を探すと、
$ find /usr/share/pear/symfony/ | xargs grep "form_tag"
/usr/share/pear/symfony/helper/FormHelper.php: *   <code><?php echo form_tag('@m  yroute'); ?></code>
/usr/share/pear/symfony/helper/FormHelper.php: *   <code><?php echo form_tag('/m  odule/action', array('name' => 'myformname', 'multipart' => true)); ?></code>
/usr/share/pear/symfony/helper/FormHelper.php:function form_tag($url_for_options   = '', $options = array())
/usr/share/pear/symfony/helper/FormHelper.php: * plan to upload files to your we  bsite, be sure to set the <i>multipart</i> option form_tag helper function to tr  ue
/usr/share/pear/symfony/helper/FormHelper.php: * @see input_tag, form_tag
/usr/share/pear/symfony/helper/JavascriptHelper.php:   * The hash passed as a se  cond argument is equivalent to the options (2nd) argument in the form_tag() help  er.
/usr/share/pear/symfony/helper/UrlHelper.php:    return form_tag($internal_uri,   array('method' => 'post', 'class' => 'button_to')).content_tag('div', tag('input  ', $html_options)).'</form>';

ファイル:/usr/share/pear/symfony/helper/FormHelper.php
定義:function form_tag($url_for_options   = '', $options = array())


<参照>
いまさらxargsの便利さを主張してみる

0 件のコメント:

コメントを投稿