ソノウチイエオカウ

タイトルと無関係な個人用の技術メモ

FuelPHP

FuelPHP ◇ CSRF対策を行う

1.config.phpの設定 csrf_autoload : trueにすると自動でチェックを行う。ほとんどの場合、手動でチェックを行うのでfalseにしておく csrf_token_key : hiddenにセットされるcsrfチェック値のキー csrf_expiration : csrfクッキーの有効期限。0より大きな…

FuelPHP ◇ DB::queryで表を結合したクエリの件数をDB::count_last_query()で取得すると duplicate column name 'id'エラーになる

DB::queryで表を結合したクエリの件数をDB::count_last_query()で取得すると duplicate column name 'id'エラーになる場合がある これは、migrate等でテーブルを自動生成した場合、id列が自動で付加される為、結合する両方のテーブルにid列が存在してしまう…

FuelPHP ◇ FuelPHPのデバッグを行う(プロファイリング)

FuelPHP にはアプリケーションプロファイラがついており、アプリケーションの情報や実行SQLなどが確認できる。 [設定] /fuel/app/config/[config.php] // profilingを有効 'profiling' => true, (DB関連も有効にする場合) [db.php] // profilingを有効 'prof…

FuelPHP ◇ oil generate admin を一度実行した後、もう一度実行するとエラーになる

oil generate adminは、1回目ならオプション無しでエラーとなりませんが、2回目以降エラーとなってしまう。 理由はbase.php等の共通で使うファイルが1回目で作成され、2回目実行時に重複してしまう為。 対応は、2回目以降の実行時はオプションに-f:上書き、…

FuelPHP ◇ getパラメータに対してValidationを行う

入力チェック等のValidationは、POSTパラメータに対してしか行われない $val = Validation::forge();if ($val->run()) GETパラメータで渡ってきた値に対してValidationを行うには $val = Validation::forge();if ($val->run(array('hoge' => Input::get('hog…

FuelPHP ◇ oil generateで自動生成した画面でエラー時のメッセージが赤枠表示にならない

FuelPHP1.7.1の段階で、oil generateで自動生成した画面でエラーメッセージが赤枠表示にならない。 理由はTwitter bootstrap 3からcssのalert-error定義が削除になった為。 対応は自動生成した後は、/app/views/template.php(もしくは/app/views/admin/templ…

FuelPHP ◇ 独自の設定ファイルを利用する

設定ファイルを作成 php oil g config sample test:test1 ⇒/app/config/sample.php の設定ファイルが出来る(直接ファイルを作ってもよい) 設定ファイルを読み込み 常に読み込む 通常 1. 設定 ⇒ config.phpのalways_loadのconfigを設定 'config' => array…

FuelPHP ◇ ファイルアップロード処理を実装する

設定ファイルを配置 /fuel/core/config/upload.phpを/fuel/app/config/にコピーする ⇒アップロードで共通の設定事項があればここで設定しておく ※設定できる内容は本家のマニュアルを参照(1.7) アップロードエラーの日本語ファイルを配置 /fuel/core/lang/en…

FuelPHP ◇ 【環境】XAMPP、Eclipseで開発環境を整える(ブレークポイントでデバッグできる環境まで)

EclipseにFuelPHPのプロジェクトを作成 Eclipse(PDT入り)をインストール(Eclipse4.3でやってみた) Eclipseを起動して[ファイル]-[新規]-[PHPプロジェクト]を選択し、プロジェクト名を入れる 「既存ロケーションにプロジェクトを作成」でFuelPHPのプロジ…

FuelPHP ◇ Controller_Templateを使いviewにテンプレートを利用する

Controller_Templateを継承することにより、viewにテンプレートを利用できる。 デフォルトのテンプレートは、template.phpが利用される テンプレートを変更する場合は、public な変数 $templateを別のものに設定する(public $template = 'template_work';)

FuelPHP ◇ oil g migration と oil g modelで作られるmigrationファイルの違い

oil g migration と oil g modelで作られるmigrationファイルには下記の違いがある oil g migrationの場合 テーブル名が自動で複数形に変換されない 自動でcreated_at、updated_atのカラムが追加されない oil g modelの場合 テーブル名が自動で複数形に変換…

FuelPHP ◇ 【コマンド】oil generate (コード生成)

oil generate(省略形はg)でコードの自動生成が行える php oil g controller アクション名 メソッド名1・・・:コントローラの作成 ※controllerは下記オプションが指定可能 --with-viewmodel:ビューモデルクラスを作成 php oil g model テーブル名 カラム…

FuelPHP ◇ 【コマンド】oil generate のオプション

コマンドの最後にオプションの指定が可能 -s: すでに作成されているファイルを作成しない -f :すでに作成されているファイルを新たに上書き

FuelPHP ◇ 【コマンド】oil migration (テーブルの操作)

php oil generate(省略形はg) migration ~でテーブルに対する操作を作成し、 php oil refine (省略形はr) migrate ~でテーブルに対する操作を実行する php oil g migration のパラメータ 作成:create_テーブル名 カラム定義 変更:rename_table_変更前…

FuelPHP ◇ 【コマンド】oil console

oil console でコマンドラインからFuelPHPのメソッドを実行可能 (例 Authクラスからユーザーを作成) oil console Auth::create_user('ユーザー', 'pass', 'mail', 権限番号);

FuelPHP ◇ 【設定】ログを設定する

ログの設定 /fuel/app/config/[config.php] /*** Logging Threshold. Can be set to any of the following:** Fuel::L_NONE* Fuel::L_ERROR* Fuel::L_WARNING* Fuel::L_DEBUG* Fuel::L_INFO* Fuel::L_ALL*/'log_threshold' => Fuel::L_WARNING,'log_path' =>…

FuelPHP ◇ SimpleAuthを設定する

SimpleAuthのパッケージを設定します。 /fuel/app/config/[config.php] 'packages' => array('orm','auth',), /fuel/packages/auth/config/auth.php、simpleauth.phpを/fuel/app/config/にコピーします。/fuel/app/config/[auth.php] 'salt' => 'saltの値', …

FuelPHP ◇ 【設定】セッション管理をDBにする

/fuel/core/config/session.phpを/fuel/app/config/にコピーします。/fuel/app/config/[session.php] // if no session type is requested, use the default// 'driver' => 'cookie','driver' => 'db', セッション用のテーブルを作成します。 CREATE TABLE I…

FuelPHP ◇ 【設定】言語設定をする

日本語の設定を行う/fuel/app/config/[config.php] /*** Localization & internationalization settings*/// 'language' => 'en', // Default language'language' => 'ja', // Default language'language_fallback' => 'en', // Fallback language when file…

FuelPHP ◇ 【設定】DB(ORM)を設定する

DB(ORM)の設定です。 開発モードはdevelopmentフォルダ以下に設定します。 /fuel/app/config/development/ [db.php] /** * The development database settings. */ return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=localh…