FuelPHPで動的にデータベースを変更する

FuelPHPで動的にデータベースを変更する

configをloadしてsetして使用するという流れになります。

サンプル

注意点

ループ中で使用するときは上サンプルの[set_conf_name]を一意にしなければなりません

FuelPHPプロジェクトをgitで管理する

FuelPHPプロジェクトをgitで管理する

gitで管理しましょう

1.プロジェクトの作成

2.不要ファイルの削除

3.サブモジュールの追加

4.サブモジュールのチェックアウト

バージョンは以下を参照
https://github.com/fuel/core/branches/stale

5.gitへの追加とコミット

クローンするとき

SQLiteでよく使うコマンドまとめ

SQLiteでよく使うコマンド

たまに使うsqliteですが、コマンドをよく忘れます。。

sqliteのファイルを開く

テーブル一覧(show tables)

テーブル定義(desc, describe)

sqliteから抜ける(exit)

Tips

duplicate key update

空き領域の解放

macでネットワークを再起動する

macのコマンドラインにてネットワークカード指定で再起動する

virtual machineへの接続がスムーズにいかなくなった時など、
再起動までもない時に使用しています。

FuelPHPでのデバッグ

FuelPHPでデバッグ

fuelphp profiler

configでプロファイラをONにする方法とDebugクラスを利用する方法があります。

configでプロファイラを制御する

configでプロファイラ表示をONします

データベースをプロファイルするときはdb.phpにもprofilingを定義します。

Debugクラスを利用する

公式サイトより

これら2つを使ってデバッグしましょう。

FuelPHPでスマホとPCのテンプレート切り替え(Controller_Templateの継承)

FuelPHPでスマートフォンとPCでテンプレートファイルを切り替える。

Controller_Templateを継承したクラスを利用してモバイル(スマートフォン)とPCで
テンプレートを切り替えます。

コントローラー

継承元となるクラス。ここでテンプレートファイルを切り替えます。

上のクラスを継承したコントローラーで利用します。

FuelPHPでsmartyを使用する

FuelPHPでsmartyを使用する

FuelPHPにて、smartyを使用してみます。

composerを使用したインストール手順とサンプル

configにparserを追加

composer.jsonに”smarty/smarty”: “3.*” を追加し、update

“smarty/smarty”: “3.*” を追加する。追加した上の行の最後に , を忘れずに

composerに追加したあとはupdateしましょう。

これで準備は整いました。

コントローラーの作成

テンプレートの作成

http://domain/sample
にアクセスすると、Smartyを使用したテンプレートが見れるはずです。

FuelPHPでSmartyを利用した共通テンプレート化 (Controller_Templateの継承)

FuelPHPでSmartyを利用した共通テンプレートの分割

テンプレートの共通的な処理をまとめるため
Controller_Templateを継承したクラスを利用してテンプレートを分割してみます。

コントローラー

継承元となるクラス。ここで各画面で共通なテンプレートを呼び出します。

上のクラスを継承したコントローラー

テンプレート

まず枠となるテンプレート
※Controller_BaseTemplateでファイル名を指定することもできます。

継承元となるクラスで指定したテンプレート

コントローラーで指定した変数を表示するテンプレート

http://ドメイン/sampletemplate/

にアクセスすると確認できます。

FuelPHPでmodel呼び出しを行う (クエリビルダ)

FuelPHPでmodel呼び出しを行う

FuelPHPにて、いくつかのパターンでモデルを呼び出してみます。

!!! 【注意】model名は小文字で。命名規則があるので注意しましょう !!!

namespaceを使用したModel呼び出し その1

公式サイト
http://press.nekoget.com/fuelphp_doc/general/models.html
にある呼び出し

namespaceを使用したModel呼び出し その2

コントローラーからの呼び出し方法を変えました。

namespaceを使用しないModel呼び出し

おまけ

今回はDBクラスのクエリビルダを使用したサンプルでした。

オブジェクトリレーショナルマッパー(ORM)を使用してデータベースにアクセスすることも可能です。