【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に連絡することはない。。