2012年7月4日水曜日

2012年07月04日 講義091日目

2012年07月04日
講義091日目
------------------------------1H------------------------------
★復習
●symfonyの復習
・logについて
  デバックフラグを立てておくとlogファイルにlogがたまっていく
  vi、またはtail -f(リアルタイムで表示)
------------------------------2H------------------------------
★復習
●symfonyの復習
・wordpressとかec-cubeとかをwebの下に置けばとりあえず動く(symfonyとは関係ないが)
・アプリケーションの切り分けはサイトの見た目が完全に違う場合などに
・よく使うロジック→関数化→クラス化→プラグイン化という感じ
------------------------------3H------------------------------
★復習
●symfonyの復習
・使用するテンプレートの切り替え
  $this->settemplate()
・ymlファイルで、appsごとにプラグインを指定したりもできる
・symfony fix-permsでファイルの設定を標準化してくれる
・apacheの設定ファイルを変更する
  sakuraのスタンダードだと、etc/httpd/conf.d/httpd-vhost.confがいじれないので.htaccessで解決する
・symfony freeze コマンド(symfony unfreezeコマンドで解除)
  sandboxにする時に使う
  プロジェクトlib/にsymfony本体が入る(ライブラリっぽく?)ので、
  別の環境にプロジェクトごとコピーして
  ☆注意
  web/sfが存在する場合は、sfフォルダを作ろうとするのでsymfony freezeコマンドが失敗する
  別名で保存するか、削除するなりして対応しておく
------------------------------4H------------------------------
★symfonyの復習
●サイトマップを作る
  モジュールにする必要もないページなので、actionで作成する
・return sfView::SUCCESS;の省略
    public function executeSitemap()
    {
        return sfView::SUCCESS;
    }
    ↓
    public function executeSitemap()
    {
    }
    これでsitemapSuccess.phpを読み込みに行ってくれる
☆条件分岐も可能
    public function executeSitemap()
    {
        $error = "あり";
        if($error == "あり"){
            return sfView::ERROR;
        }else{
            return sfView::SUCCESS;
        }
●テンプレートを作る
・urlを省略できる条件
  rewriteRuleでルーティング
  routing.ymlで指定
    url:   /symfony/:action/*
    :→ルールに従って:以下の場所に飛ばす処理
    *→全て
------------------------------5H------------------------------
★復習
●symfonyの復習
・routing.ymlの編集
sitemap:
  url:   /sitemap/
  param: { module: default, action: sitemap }

sitemap:
  url:   /sitemap
  param: { module: default, action: sitemap }
☆linkが/sitemap/の場合
  ↑の順番を変えると、先にsitemapモジュールを探しにいってしまうので注意
●urlをリクエストパラメータとして扱う設定
・routing.ymlの編集
#パラメータのテスト用ルーティング
sitemap_test:
  url:   /sitemap/:name
  param: { module: default, action: sitemap, age: 31}

☆getRequestParameter()でnameを受け取れる
  executeSitemap()で
    echo $this->getRequestParameter("name");
    echo $this->getRequestParameter("age");
   と、記述しておくと受け取れていることがわかる
●よく使うymlファイルたち
  app/front/config/routing.yml
                 settings.yml
                 view.yml
                 securty.yml
  config/database.yml
●settings.ymlの設定について
  ・no_script_name:
  フロントコントローラー名をurlに使うか
  大抵はon
  ・404エラーの設定
    error_404_module:       default   # To be called when a 404 error is raised
    error_404_action:       error404  # Or when the requested URL doesn't match any route
  ・エスケープの設定
    escaping_strategy:      both       
    escaping_method:   ESC_ENTITIES  
  ・バリデーション(エラーメッセージ)の設定
    validation_error_prefix:    ''
    validation_error_suffix:    ''
●view.ymlの設定について
layout.phpの
<?php include_http_metas() ?>
<?php include_metas() ?>
<?php include_title() ?>
部分に反映される

☆サイトの文字化けを防ぐために
・文字化けの原因→読み込んでるアプリケーションの設定とファイルの文字コードが違う
  サーバー内での文字コードの指定
  ファイル内での文字コードの指定
  ブラウザ内での文字コードの指定
のズレがおきると文字化けが起こる
サーバーとファイルの文字コードを統一しておくのが良い
(symfonyで作成されるファイルのデフォルトはutf-8っぽい)
------------------------------6H------------------------------
★symfonyの復習
●app.ymlについて
  自分でymlファイルを作りたい場合はココに書く
  そのアプリケーションでしか使わない配列などを書く
●module/configにymlファイルを置く
    上位階層のymlファイルの内容より強い
    かぶる項目が存在した場合に、優先して反映させることができる
    もちろん内容の追加も可能
●schema.ymlについて
①propel-build-schema
  propel.iniの情報を元にshema.ymlを生成
②propel-build-model
  schema.ymlを元にlib/model
の流れ
●database.ymlについて
  デフォルトではコメントアウトされてる
  encoding:    utf-8などを書く
★dev.shonanbbsの変更をsvnにコミットする
・svn stut -u
  変更点の確認
・svn add
  svn add ファイル名で?のファイルをAに変更
・svn ci -m ""
  コミットする
-----------------------------memo------------------------------

0 件のコメント:

コメントを投稿