array( 0 => array( 0 => "aaa", 1 => "bbb", 2 => "ccc" ), 1 => array( 0 => "aaa", 1 => "bbb", 2 => "ccc" ) )
FuelphpでMVCをモジュール化する時の設定方法をメモします。 開発を進めていくとファイルが膨大になってしまって、開発効率が落ちることがあります。 モジュール化することでMVCをまとめることができるので、開発する時にファイル等を参照しやすくなります。 また、ディレクトリごとコピーしてしまえば簡単に複製することができるので、開発効率も上がると思います。 FuelphpでMVCをモジュール化する場合の記述方法や設定方法等を下記に記載します。 ■ Fuelphpでモジュール化する方法 Fuelphpのディレクトリ構造はモジュール化をしない場合、 下記のような構造になっています。 モジュール化する場合は「modules」ディレクトリの中にモジュールごとに設置します。 今回は「hoge」というモジュールを作成しています。 コントローラー、モデル、ビューをモジュール内に設置します。 ・config
さくらインターネットの共用サーバにoilコマンドをインストール出来ました。 以下を参考にさせて頂きました。 さくらインターネットで FuelPHP をインストールするには? 共用サーバなので http://press.nekoget.com/fuelphp_doc/index.html のように $ curl get.fuelphp.com/oil | sh としても、パーミッションの関係で失敗するので、少し遠回りする必要があります。 以下がその方法になります。 尚、~/.cshrcや~/.profileで~/local/bin/にパスを通してある前提です。 (1) 移動 -- %cd ~/local/bin/ -- %curl get.fuelphp.com/oil > oil % Total % Received % Xferd Average Speed Time
今最も勢いのあるフレームワークFuelPHP インストールしていきます。 ほとんどマニュアルに書いてある通りです。 動作想定はubuntu13 + nginx + php-fpmで動作させることを想定しています。 http://fuelphp.com/docs/installation/instructions.html oilコマンドインストール $ sudo curl get.fuelphp.com/oil | sh oilコマンドにてセットアップ $ oil create <project_name> いろいろとダウンロードとセットアップされていきます。 そしてライブラリの更新をしろと言われるのでcomporser.pharをインストールしたディレクトリで実行。 $ sudo php composer.phar self-update $ sudo php composer.phar
6月初旬からCSやBSが無料で見れる期間ということで、どっぷりテレビな時間が増えてしまっています。 このままだとCSを契約しちゃいそうですが、契約すると何もできなくなりそうなので我慢ですね・・・。 さて、FuelPHPでトランザクションを利用したデータベース処理を行う方法をメモとして記載します。 使用方法 実際の処理としては、Database_Connectionのstart_transactionメソッドを利用します。 $db = Database_Connection::instance(); $db->start_transaction(); これで、トランザクションがスタートした状態になります。 次に処理完了時のコミット処理および、ロールバック処理を見てみましょう。 try { // 何かの更新処理 $db->commit_transaction(); } catch (Excep
FuelPHP標準のSimpleAuthクラスがいまいち使いずらいので、自分で改造して認証クラスを作りました。githubで公開しています。 https://github.com/web2citizen/web2auth SimpleAuthからの主な変更点は下記の通りです。 ユーザの詳細情報を個別のカラムに格納(Profile_fieldsカラムを削除) Twitterによる認証追加(別途Twitterパッケージが必要) ユーザ作成時に必要な情報からユーザ名を削除し、メールアドレスとパスワードで認証 ユーザのグループ分け機能の削除(group=0 のユーザに限り誰からも(ログインしていなくても)変更できる) 使用するには fuel/app 以下のディレクトリに格納し、fuel/app/config/auth.php で ‘driver’ => ‘Web2Auth’ と指定してください。
FuelPHP Advent Calendar 2012の13日目担当の@yamamoto_manabuです。 昨日は@seltzerさんの『Coda + FuelPHPでお手軽開発環境を作る』でした。 私は、Eclipse→NetBeans→PhpStormをお試し中。と定番IDEを渡り歩いてきたのですが、記事を読ませて頂くとCodaもあるある機能は網羅してそうですし、iPad版もあるようなので、ちょっと浮気してみようと思います。 さて、今日で13日目といことで折り返し地点を迎えた訳ですが、本日のお題は今年10月にTISさんが公開したPaaSサービス「eXcale(えくすけーる)」です。 気にはなっていたものの触れず仕舞いだったのですが、今回「FuelPHP Advent Calendar 2012」に参加させて頂くあたって、題材にさせて頂こうと思います。 まずは簡単に「eXcale
FuelPHP 1.6 のインストールは、公式の Zip ファイルからする場合、Zip ファイルを展開した後に composer コマンドを実行し、依存ライブラリを追加インストールする必要があります(Git が必要)。 Packagist や GitHub が落ちているとインストールが完了できません。 そこで、composer でのライブラリも含めた Zip ファイルを作成してみました。 $ unzip fuelphp-1.6.zip $ cd fuelphp-1.6/ $ php composer.phar update $ chmod o+r public/.htaccess $ cd .. $ zip -r fuelphp-1.6-all.zip fuelphp-1.6/ 作成した fuelphp-1.6-all.zip を以下に置いておきます。 http://fuelphp1st.
先日、以下の記事を書きました。 FuelPHP v1.6でtmhOAuthを使ってTwitter認証と投稿をしてみる http://madroom-project.blogspot.jp/2013/05/fuelphp-v16tmhoauth.html 認証周りをメソッド化してまとめていたら、なんとなくパッケージに出来そうだったので、作ってみました。(初代(?)Twitterパッケージも古くなってきている感じでしたし。) https://github.com/mp-php/fuel-packages-twitter https://packagist.org/packages/mp-php/fuel-packages-twitter Composer / Gitのsubmodule / ZIPをDL と、好きな方法でfuel/packages/twitterとして配置します。尚、FuelP
初心者がMac OS X 10.7 Lion 上で20時間かけてMAMP環境を構築しFuelPHPのサンプルを動かす為にやったことをまとめます。 序盤とかはわりと忘れかけていますが、自分がはまった箇所などピックアップして書いています。 外部公開を前提にしていない実験環境としての構築となっており、私自身の知識も浅いため設定内にセキュリティ面の問題が発生している可能性が考えられます。各自、ルーターを使用するなど安全な環境でお試しください。 <動作環境> ・Mac OS X 10.7 Lion ・Apache/2.2.21 (Unix) DAV/2 ・MySQL / Ver 14.14 Distrib 5.5.19, for osx10.7 (i386) using readline 5.1 ・PHP 5.3.8 with Suhosin-Patch ・FuelPHP Ver 1.1 <Mac
こんな感じのテーブルがあったとします 見ての通りuser.guild_id = guild.idで紐づく感じです リレーション設定をしようModel_User(userテーブル) // リレーション設定 protected static $_has_one = array('guild' => array( 'model_to' => 'Model_Guild', 'key_from' => 'guild_id', 'key_to' => 'id', 'cascade_save' => false, 'cascade_delete' => false, )); Model_Guild(guildテーブル) // リレーション設定 protected static $_has_many = array('members' => array( 'model_to' => 'Model_User
Thoughts, ideas, random notes, ramblings... Anything about PHP in general, and FuelPHP in particular. Sometimes serious, sometimes with a big wink. But always with a message. Do you have an opinion about an article? Don't forget to comment! FuelPHP v2 has been “on the horizon” or “just around the corner” for a long time. Unfortunately due to various personal issues in the team work on v2 has been
Webサービスやアプリを作成する中で、会員登録をユーザーが行った場合等、大事なタイミングでユーザーにメールを送信する事があると思います。全員にお知らせ等を送る場合には個々に内容を変えて送る必要はないですが、中には定型文の中で動的に数カ所メッセージを変更させたい場合もあると思います。 そういった場合にFuelPHPで行う方法を紹介します。 ■メール送信ロジック(モデルとかでもいいですし、メール送信用のクラスを作成してその中でもいいと思います。) //メールテンプレートの指定[fuel/app/views/mail.php]があると仮定 $send_mail_template = "mail"; //メール処理 $email = \Email::forge(); $email->from("送信元アドレス", "表示される送信元の名前"); $email->to("送信先アドレス"); $em
2013/01/05 追記: 以下に、まとめ記事を書きました。 FuelPHPとGitLabとJenkinsで継続的インテグレーションする雛形を考えてみた http://madroom-project.blogspot.jp/2013/01/fuelphpgitlabjenkins.html 前回の内容に、テスト統計の取得を加えてみます。 JenkinsとPhingとPHPUnitでFuelPHPのHTMLカバレッジレポートを作成する http://madroom-project.blogspot.jp/2013/01/jenkinsphingphpunitfuelphphtml.html (1) Jenkinsに"xUnit Plugin"をインストールします。 (2) Jobの設定からPost-build Actionsで"Publish xUnit test result repor
FuelPHP 1.5 から 1.5.2 では、デフォルトの出力フィルタおよび URI フィルタが空になってしまっていた問題を修正するためのリリースです。 FuelPHP » Hotfix release v1.5.3 | Blog 1.5 から 1.5.2 を新規インストールした場合、1.4 以前と同様のセキュリティ設定にしたい場合は、app/config/config.php に以下を追記する必要があります。 'security' => array( 'uri_filter' => array('htmlentities'), 'output_filter' => array('Security::htmlentities'), ),出力フィルタを設定していない場合(つまり 1.5〜1.5.2 のデフォルト状態)は、テンプレートエンジンなどで出力時にエスケープ処理をしているケースを除き
注意 現在X(旧Twitter)でのソーシャルログインができない事象を確認しています。事前にX(旧Twitter)側で再ログインした上でconnpassのソーシャルログインを行うか、 「ユーザー名(またはメールアドレス)」と「パスワード」の組み合わせでのログインをお試しください。合わせてFAQもご確認ください。 お知らせ 2024年9月1日よりconnpassサービスサイトへのスクレイピングを禁止とし、利用規約に禁止事項として明記します。 9月1日以降のconnpassの情報取得につきましては イベントサーチAPI の利用をご検討ください。 お知らせ connpassではさらなる価値のあるデータを提供するため、イベントサーチAPIの提供方法の見直しを決定しました。2024年5月23日(木)より 「企業・法人」「コミュニティ及び個人」向けの2プランを提供開始いたします。ご利用にあたっては利用
考えてみれば単純なことなのにハマったので備忘録に残します。 ハマった時のケースはModule Aから共通Module(例ではModule B)のデータを表示する際にModule AのViewでModule BのModelをどう呼び出すか、というもの。(そもそも設計云々に問題があるというのは割愛します・・・) ■module Aからmodule BのModelを呼び出す場合。 module Aで \Module::load('B'); と記述し、Module Bを読み込む。 確認方法は、 $loaded = Module::loaded(); var_dump($loaded); とすれば、呼び出されていることが確認できます。 Modelでデータを取得する際は、 $persons = B\Model_Xxx::find('all'); というように、namespace(module名)を付け
環境のサポートは、FuelPHP やあなたのアプリケーションが、環境設定に基づいて意思決定することを助けます。 FuelPHP 自体は環境設定を使用して、現在有効な環境に基づいて追加の設定をロードしたり上書きしたりします。 環境のリスト FuelPHP には 4 つの定義済みの環境があります。 \Fuel::DEVELOPMENT 開発環境。 \Fuel::TEST テスト環境。 \Fuel::STAGING ステージング環境。 \Fuel::PRODUCTION 本番環境。 環境をセットする 環境の設定は、サーバ変数 FUEL_ENV をセットするか、 手動で fuel/app/bootstrap.php 内の設定を変更することで設定します。 // Inside app/bootstrap.php /** * あなたの環境。次のいずれかをセットすることができます: * * Fuel::D
こんにちは。2015年 FuelPHP Advent Calendar 2日目を担当させて頂く @ken880guchi です。宜しくお願いします。 環境 タイトルのとおリ Mac OS X El Capitan 10.11.1 です。 FuelPHP インストール 今回は、公式のドキュメントFuelPHP 1.7.3 Documentation(日本語訳)に従って oil コマンドのインストールから進めて行きたいと思います。 そもそも oil ってなに? oil コマンドは FuelPHP でのアプリケーション開発を補助する役割を担っており、Controller, Model, View の生成やデータベースのマイグレーション、パッケージのインストール、更新および削除、PHPUnit テストの実行等を行ってくれます。 oil のインストール 早速 oil コマンドのインストールを行います
android (32) angularjs (16) apache (16) aptana (1) backbone.js (14) bazaar (1) bootstrap (4) cakephp (3) capistrano (3) chef (10) chrome (13) codeigniter (1) coffeescript (3) cordova (3) coveralls (1) css (2) docker (2) eclipse (6) espresso (1) facebook (6) flight (1) fluentd (2) fpac2011 (6) fuelphp (115) fuelphp2 (1) gae (2) garageband (1) gdata (3) gearman (2) git (16) github (7) gitlab (9) gru
イギリスのIT系の出版社であるPackt Publishing、知ってる人も多いと思います。紙の書籍と電子書籍を出しており、Amazonなんかでも買えます。 で、Kindleで安く売ってたりするんですが、一部の書籍は50%オフで買える場合があります。 Exclusive offer: get 50% off this eBook ということで、私が見つけた50%引きのオファーが掲載されているページをまとめておきます。 Packt Publishingから直接買った方が、DRMフリーでPDFやEPUBなどさまざまなフォーマットで入手できますので、少しくらい高い程度なら直接買うことをおすすめします。 Learning FuelPHP for Effective PHP Development 50% off £6.00 → http://www.packtpub.com/article/fue
超長文になる悪寒。 PHPでサービス開発を行うとき昔はフルスクラッチで書いてましたが、さすがに面倒なのでフレームワークを使うようになってしばらく立ちました。 最初はシェアの高いCakePHPを使うつもりでしたが、重く、ソースが煩雑っていう噂を聞きくしPHP5以前なので今後長く使って行くにはすこし大変そうなので話題のCodeigniterに挑戦しました。 かる~くサービスを一個作ってみたのですが、HMVCに標準で対応していなかったり、ライセンス問題があったり、ちょこちょこバグがあったりと好きなんですがイマイチぐっと来ませんでした。 そしてCodeigniterの開発メンバ中心で開発が行われたFuelPHPにたどり着きました。 FuelPHPの利点は様々ありますが、なんといってもソースコードが美しく、拡張性が高い!ライセンスもMITでやりたい放題! FuelPHPとの付き合いが長くなりそうなの
プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。 主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
ORM はオブジェクト 関係マッピングの略です。 これは、2 つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、 それはあなたがそれらのオブジェクト間の関係を確立することができます。 それは Active Record パターンに従いますが、他のシステムに影響も受けます。 CRUD: 作成、読み取り、更新、削除 一度あなたのモデルを設定したそれは、作成、読み取り、更新、 およびデータベース内のエントリを行います。 作成 // オプション 1 $new = new Model_Example(); $new->property = 'something'; $new->save(); // オプション 2, forge メソッドでインスタンスを作成して使用する。 $new = Model_Example::forge(); $new->property = 'some
2013年01月07日19:00 カテゴリPHPFuelPHP FuelPHPのvalidationで独自のルールを作る FuelPHPのvalidationは 標準で用意されている検証ルールだけだと物足りない検証の結果エラーとなった場合のメッセージがいまいち。lang/ja/validation.phpで日本語にしてもいまいち。独自の検証ルールを作成するには的な感じで、今(2013/1/5)googleで検索すると、検証ルールを書いたクラスを 作成する方法がヒットするけど、クラスを作るほどじゃないし、使い回しもしない検証ルールなんだけど…と思うということから、validationを使うことにめげてしまいそうになります。 validationのルールには無名関数を使うことができます。 ※ドキュメントに書いていないじゃないか!と思ったら、any valid PHP callback and
さくらのVPSでFuelPHPを動かそうと思って oil create PROJECT_NAME とコマンドを打つと Submodule path 'fuel/packages/parser': checked out '634204f87047fdb2d5957b74a7c24a4faea33cc2' PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0 Fatal error: Exception thrown without a stack frame in Unknown on line 0 とエラーが出てしまう。 同じ事をAmazonのEC2でやると Submodule path 'fuel/packages/parser': checked out '634204f87047fd
基本 1.アクセス権限を設定する 2.各ページで権限チェックを行う めも よくあるのは、下記の3種に対して振り分けをすると思う。 ・ログインしていない人 ・ログイン中の一般ユーザー ・ログイン中の管理人 この程度なら「\Auth::check()」でログインしている・していないを振り分けて「group」で一般・管理人を振り分ければいい。 ▼ちょっと特殊な状況や、ログイン中でも細分化したい場合にrolesに意味が出てくる。 ・一般ユーザーは自分の情報のみ見れる ・運営者(平社員の管理人)は、全ユーザーの情報は見れる ・運営者(役職ありの管理人)は、全ユーザーの情報を編集できる ・開発(管理人)は、全ユーザーの情報を編集できるし、削除もできる アクセス権限を設定 「fuel/app/config/simpleauth.php」で「groups」と「roles」を設定する ▼例 'groups'
VagrantでCentOS 6のFuelPHP開発環境を構築するためのvagrant-fuelphp-centos6をいろいろ更新しました。 https://github.com/kenjis/vagrant-fuelphp-centos6 使い方については、FuelPHPの開発環境を20分で構築する(Vagrant編)を参照してください。 変更点 バージョンアップ CentOSを6.4から6.5に更新 PHPを5.4から5.5に更新 PHPUnitをPEARからComposer経由でインストールするように変更 共有フォルダのパーミッションの不具合修正 Apache経由のPHPからファイルを書き込めない不具合を修正 コマンドラインからファイルを実行できない不具合を修正 gitでのコマンドなどのタブ補完ができるように修正 Xdebugのリモートデバッグができるように変更 PHPについて イ
Amazon Linux AMI 2014.03.1 と Ubuntu Server 14.04 LTS (PV) で試した。 インスタンスを作って立ち上げたところまでは省略。 AMI: Amazon Linux AMI 2014.03.1 の場合 $ ssh -i PATH-TO-KEY-FILE.pem ec2-user@PUBLIC_DNS_VALUE 以下ホスト側 root ユーザーにパスワードを設定 $ sudo passwd bashのプロンプトに色を付ける $ vim ~/.bashrc --- # 以下コメントアウトを外す force_color_prompt=yes --- パッケージをアップデート $ sudo yum update Apache 入れる $ sudo yum -y install httpd $ sudo service httpd start PHP
一度、config まわりを理解してしまえば当然という設定方法ですが、上記ドキュメントを読んだだけでは、スムーズにいかずあれこれ試したので、ここで備忘録的に整理しておきます。 今回は、特に DB まわりの設定です。DB は複数利用します。 やりたいこと app とは別に共通利用したい platform モジュールを分割 app で利用する db の設定は、通常通り app/config/db.php や app/config/(環境)/db.php で管理 module で利用する db の設定は、通常通り module/platform/config/db.php や module/platform/config/(環境)/db.php で管理 上記設定状態で、通常通り app 内で app 用 DB にアクセス、module 内で module 用 DB にアクセス イメージとしては、
初めてのForkとFuelPHP 1.6 翻訳ウィーク参加 で git の操作方法をメモってたけど色々おかしかったので新たにメモ。 それ以外にも関連する事柄をメモ。 未翻訳のドキュメントを探す$ grep -RE " [a-zA-Z]+\.\s*$" * | grep -v "MIT license" や $ grep -RE " you " * とすることでなんとなく探せます。 なんとなくですが。 親リポジトリからマージ親リポジトリは $ git remote set-url upstream <URL> で指定しておき $ git remote -v で現状を確認できる。 そして、 $ git pull upstream <BRANCH_NAME> でマージする。 さらに、自分の GitHub に pull アンド push でマージ。 $ git push origin 1.8/de
※FuelPHPの想定バージョンは1.7 Form::radioにラベルを関連づける為のメモ。 Form::radioでradioボタンを作成し、そこにラベルを関連づけしようとすると、Form::labelはidにformのprefixが付くのに対し、Form::radioはprefixが付かないので若干ややこしい。 対応案1 Form::radioでprefix付きのidを指定する。 (label側のidにprefixが付くのを見越し、radio側のidを付けてしまう) <?= Form::radio('status', 1, Input::post('status') != '0', array('id' => 'form_status_1')) ?> <?= Form::label('有効', 'status_1') ?> <?= Form::radio('status', 0, I
FuelPHPでは環境によってエラーが発生した際の画面が異なります。 これらのViewは「COREPATH/views/errors」に定義されているので、 Oops画面をカスタマイズする場合は、 「APPPATH/views/errors/production.php」 というファイルを用意して中身を書き換えればOKです。 ※ Fuelのcoreクラスの内容のほとんどがAPPPATH配下に同じ階層と同名のファイルを配置することでcoreに手を入れずに処理の上書きが可能です。 画面の確認 FUEL_ENVがproduction以外の場合 おなじみのエラートレース画面です。 開発時に頻繁に表示されるので見慣れているかと思います。 エラー発生個所やスタックトレースを表示してくれるので何処で何が起きたかがその場で確認ができて便利ですね! FUEL_ENVがproductionの場合 内
こんな感じのテーブルがあったとします 見ての通りuser.guild_id = guild.idで紐づく感じです リレーション設定をしようModel_User(userテーブル) // リレーション設定 protected static $_has_one = array('guild' => array( 'model_to' => 'Model_Guild', 'key_from' => 'guild_id', 'key_to' => 'id', 'cascade_save' => false, 'cascade_delete' => false, )); Model_Guild(guildテーブル) // リレーション設定 protected static $_has_many = array('members' => array( 'model_to' => 'Model_User
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く