Akelos
symfonyではforward()とredirect()は厳密に区別されます。redirect()はHTTP 302 + Locationヘッダーを送信しますが、forward()は内部的にアクションメソッドをdispatchさせます。またそれに伴い、Viewもdispatchされた先のアクションメソッドに従います。Ake…
またまたまた嵌りました。 "process"というアクションを作ったのですが、そのControllerの"index"アクションを呼ぶと、なぜかその中で使っているモデルについて [13-Mar-2008 13:28:02] PHP Fatal error: Class foobar: Cannot inherit from undefined class…
また嵌りました。PHP5で書いたスクリプトを事情によりPHP4のAkelosに移してて、そこで、Controllerに、PHP5でのクラス変数を使っている部分を残してました。
Akelosの各Controllerで共通となる基底クラス、ApplicationControllerでAというFilterを例えばbeforeFilter()で追加していたとします。で、ある一つのControllerでだけ、さらにBというFilterを追加したいとします。 app/application_controller.php : before…
Akelosで、PHPテンプレート中で自前のクラスのメソッドを呼んだり、いろいろPHPコードを埋め込み始めると次のようなエラーに出くわします。 テンプレート ...../foo.tpl セキュリティエラー: ・テンプレート内で次のような 変数 を使用できません: $_ce ・テ…
小ネタ。trigger_errorの簡易ラッパ、dlog()の覚え書き。 - ぐらめぬ・ぜぷつぇんのはてダ でも紹介しているdlog()を、公私ともにばりばり使ってるんですが、Akelosでこれやると、ブラウザ画面にも出ちゃいます。 原因は単純で、 app/config/environments/de…
なんかrender関係はそれなりに書いてるので、ひょっとしたら中身がかぶってるかもしれませんが、記事のタイトル的にビッコンバッコンなものが見あたらなかったので、ちゃんと書いておきます。Mojavi系・・・というか、ポストMojaviなFW系は、controllerに相…
最初にRoRやって、それからAkelosやるべきだった。 RoRでのやり方を知らないので、かなり辛い。 多分RoRを知ってれば、APIマニュアルとか関数名見ただけである程度「あーこーすりゃいーのね。」と見当もつくのだろうけど、その辺のバックグラウンドが無いの…
Ak::import()でモデルをrequireし、あとはモデルの中で getConnection() でADODBの接続インスタンスを取り出すのが普通だと思います。しかし、それでもモデルを使いたくない。・・・モデルクラスをgenerateするのすら厭だという粋な方向けに、Ak::db()メソッ…
あるURLにリダイレクトさせたい場合(Akelosの場合はデフォルトでHTTP 302 でLocationヘッダーを送出)、AkActionController#redirectTo()メソッドを使います。 ところで、redirectTo()を呼んだ後、Viewのrendering処理は発生するのでしょうか?確かにブラウザ…
えっと、Akelosのmodelのgeneratorは特にDBとか多分、見てないです。ですので、table名などは基本的にクラス名それ自体から生成している・・・筈です。すみません、AkActiveRecordのソース追ってみたのですが、正直追い切れませんでした。 getClassForDataba…
AkActionControllerには $Request という名前のメンバ変数でそのものズバリ、AkRequestクラスのインスタンスが入っています。 で、AkRequestクラス経由でリクエストMETHODとかを知ることが出来ます。AkRequest#getMethod() でリクエストMETHODを文字列で受け…
Akelosはデフォでvendor/以下にPEARやADODBなどのライブラリファイルを保持してます。 まぁ、これがシステム側に入っているのと干渉・衝突すると、お題のようなエラーが発生します。 例えばうっかり require_once('Pager.php');とかしちゃうと、システムのPE…
なんだ、こりゃ。 時々出てて、「なにこれ〜〜???」と。出たり出なかったりしてた。で、よくよく目をこらすと、一番上に「b0VIM」とかある。 ・・・ひょっとして、これvimのswapファイル? 試しにvimを閉じて.swpファイルが無くなると、直った。・・・あ…
ようやくこの話題に到達できた・・・。そもそも、ADODBのコネクションを直に触り始めたために、他のcontroller間でpartialを共有したり、エラー時にforwardじみた操作をさせたり、という感じでこれまで調査をしてきた訳です。で、長い下準備の割には簡単です…
Akelosのcontrollerにはforward()相当のメソッドがありません。あえて似ているような機能を実現できるのが、 renderAction() : 指定されたアクションを実行 renderWithLayout() : レイアウトを指定してViewを実行 renderWithoutLayout() : レイアウト無しでV…
後述しますが、Controllerクラスの $helpers や $app_helpers を弄っていないデフォルトのControllerの場合、Akelos自体が提供している全ヘルパー+app/helpers/(コントローラ名)_helper.php のみそのcontrollerが処理するリクエストで使用可能です。 逆に言…
先日、Helper中からさらにテンプレートを呼び出したいとき - ぐらめぬ・ぜぷつぇんのはてダで、"partial"キーを$optionに指定すれば良い、とまとめました。ところが、$optionには"controller"というキーを指定するパターンもあります。 えーっと、タイトルの…
symfony/CakePHP/Akelosとみ〜んな"vendor"ってなってますが、RoR以降の流行なんでしょうか?とまれ、アプリあるいはプロジェクト単位で外部ライブラリや、共通クラスなんかを使いたい場合、大概この中に置くことになると思います。 symfonyの場合は"symfony…
流儀としてはHelperの中で、echoとかでHTMLタグをベタ出力するのが流行なんでしょうか?Railsやったこと無いのでよく分かりません。 ともあれ、Helper中からさらにテンプレートを呼び出したいとき・・・なんですが、Akelosの流儀かどうか分からないのですが…
generatorを使ってcontrollerだけを生成すると、helperも一緒に生成してくれるのは良いのですがAkActionViewHelperを継承してくれません。このため、$this->_controllerが使えないです。例: DOS> php .\script\generate Hoge The following files have been…
手動で、特定のモデルを取り込みたい(例えばControllerとは関係のないテーブルのActiveRecordを使いたい)時は、Ak::import()が使えます。引数指定も柔軟で、二つ以上のモデルを取り込みたい(requireした)場合は、配列で見たまんま渡しても良いですし、内部実…
こんな感じで。 app/views/layouts/hoge.tpl : render(array('controller' => 'common', 'partial' => 'accountheader')) ?>これで、app/views/common/_accountheader.tpl を取り込めます。普通にcontrollerのview内であれば、'controller'指定は省略できま…
generate scaffold などすると、app/views/layouts/ 以下にコントローラと同じ名前のlayout用ファイルが作成されます。例えば、 $ ./script/generate scaffold Hogeとやると、 app/views/layouts/hoge.tplというlayout用ファイルができあがります。まぁこれ…
AssetTagHelperを使います。AssetTagHelperには他にもimageやjavascriptを読み込ませるためのメソッドがあります。CSSファイルを読んで、linkタグを出力するにはstylesheet_link_tag()を用います。で、Akelosではpublicディレクトリ中にデフォルトで public/…
Akelosを始めてみました。WinXP+SP2, PHP4.4.7(8じゃないのは開発機だから)で、PHP4で行けるのか試してみます。 ところで、 http://www.akelos.org/download ↑から0.8をダウンロードしてみたのですが、中に入ってるversion.txtの中には0.7.1とか書いてあるん…