【FuelPHP】Twigテンプレートで最初から使えるextension/FuelPHPの関数
いつも忘れるのでメモ
fuel/packages/parser/twig/fuel/extension.phpの中を見ればわかるけど
バージョンは 1.8/develop
個人的にはauth系をよく使う。
configはまだ使い切れてない感がある。
form系はFieldsetで代用している事が多い・・・(それかベタ
$ cat fuel/packages/parser/classes/twig/fuel/extension.php | grep "new Twig_Function" | awk '{print $1}' 'fuel_version' 'url' 'base_url' 'current_url' 'uri_segment' 'uri_segments' 'config' 'lang' 'form_open' 'form_close' 'form_input' 'form_password' 'form_hidden' 'form_radio' 'form_checkbox' 'form_textarea' 'form_file' 'form_button' 'form_reset' 'form_submit' 'form_select' 'form_label' 'form_val' 'input_get' 'input_post' 'asset_add_path' 'asset_css' 'asset_js' 'asset_img' 'asset_render' 'asset_find_file' 'html_anchor' 'session_get' 'session_get_flash' 'markdown_parse' 'auth_has_access' 'auth_check'
FuelPHP ORMで取得(select)した後の処理
findやqueryなど、クエリを発行するところまではあっても、
その後どう処理するかの記述が少ないと思ったのでメモ。
<?php /* mysql > show create table test; CREATE TABLE `test` ( `id` int(11) DEFAULT NULL, `name` varchar(16) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 mysql > show create table hoge; CREATE TABLE `hoge` ( `fuga` int(11) DEFAULT NULL, `bar` varchar(16) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 */ // phpの中 $result = Model_Test::find(1); echo $result->id; echo $result->name; // Twigの中 $view = View::forge('test_view.twig'); $view->result = $result; return Response::forge($view); {% for row in result %} {{ row.id }} {{ row.name }} {% endfor %} // リレーションを使ってselectしたとき $result = Model_Test->find('all', array( 'related' => array('hoge'), )); foreach ( $result as $row ) { echo $row->id; echo $row->name; // リレーションキーでオブジェクト取得 $hoge = $row->hoge; echo $hoge->fuga; echo $hoge->bar; } // リレーションをTwigの中で展開するときはドットでつないであげればいい {% for row in result %} {{ row.hoge.fuga }} {{ row.hoge.bar }} {% endfor %}
FuelPHPのAuth(SimpleAuth)のメソッドmemo
<?php // username $username = Auth::get_screen_name(); // update $data = Auth::get_profile_fields(); $data['hoge'] = 'fuga'; Auth::update_user($data); // get all $ary_all_data = Auth::get_user_array();
成果主義に明日はない
無題
社内PFを開発していて、運用している。
そのPFを使いたい、と言っているサービスがいるときに、企画的な立場として相談を受けたときの話。
そもそも難しいと思う原因としては、両者間での認識が合っていない場合が多いと思った。
1つ1つ(それは固有名詞の共有から)明確にしていき、処理フローなどに掘り下げていく。
たまに使いたいと言っているのに、何をしたいのかが不透明な場合もある。
使いたいってひとのスケジュール感をPFが管理、把握するのもおかしい。
そういう人が組織に(もしくはもう少し小さい単位で)何人かはいてもいいとは思う。
ただ、それは自分の仕事ではないと思ったし、それをするには広く・決して浅くない知識が必要になる。
そもそもPF側に相談がくるフローがまずいけてないな。
誰がFacebookアプリ開発したいのに、Facebookに連絡することはない。。