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 件のコメント:
コメントを投稿