備忘録的な @7wk

phpとjavascript系をメインに扱っていく予定。

oilコマンドでpackageをインストールする

今日もfuelphp。


fuel-ninjauthを使ってみようと思いましたが、

$ oil package install ninjauth

で入れれなかったので、メモ。


packageはデフォルトだと
fuel/core/config/package.php
に定義されている
https://github.com/fuel-packages
で管理されているpackageが
oilコマンドでインストール可能です。


例えばfuel-pagecacheを入れたい場合、

# インストール
$ oil package install pagecache

# アンインストール
# oil package uninstall pagecache


といった感じです。


ではninjauthをoilコマンドで入れたい場合はどうするかというと
coreのconfigに定義されているので、appに設定をコピって
ninjauthのgithubを追加してあげればいいのです。
※といっても個人のgitアカウントなのでこのやり方はNGなのかも

$ cp fuel/core/config/package.php fuel/app/config/
$ vi fuel/app/config/package.php


package.php

 30     'sources' => array(
 31         'github.com/fuel-packages',
            'github.com/happyninjas', // 追加
 32     ),


これで下記にてインストールが可能です。

$ oil package install ninjauth


そしてここまで書いて
マニュアルの存在を思い出した・・・

11/3 00:16 追記
oilで入れるよりこっちの方が管理しやすい気がした

git submodule add https://github.com/happyninjas/fuel-ninjauth.git fuel/packages/ninjauth

fuelphp1.3で開発環境を作ってみる。

しばらくfuelphpに触っていなかったので
過去の環境を知らなかった事にして再構築。
といってもtwigを追加するだけだけど。

参考:FuelPHP 1.x のインストール方法

$ oil create base
$ cd base
$ git submodule update
$ git status
# On branch 1.3/master
nothing to commit, working directory clean
$ git checkout -b work
# twigを追加
$ git submodule add git://github.com/fabpot/Twig.git fuel/app/vendor/Twig
# parserのconfigをコピー
$ cp fuel/packages/parser/config/parser.php fuel/app/config/
$ vi fuel/app/config/parser.php
# parser用にconfigを編集
$ vi fuel/app/config/config.php

fuel/app/config/parser.php

 27     'extensions' => array(
 28         'php'       => 'View',
 29         'twig'      => 'View_Twig',
            'html'      => 'View_Twig', // htmlでもtwigを動かす為の設定と他を使わないのでコメントアウト
 30  //       'mustache'  => 'View_Mustache',
 31  //       'md'        => 'View_Markdown',
 32  //       'dwoo'      => array('class' => 'View_Dwoo', 'extension' => 'tpl'),
 33  //       'jade'      => 'View_Jade',
 34  //       'haml'      => 'View_Haml',
 35  //       'smarty'    => 'View_Smarty',
 36  //       'phptal'    => 'View_Phptal',

特定のディレクトリ以下のみsubmodule addできればいいんだろうけど
やり方がイマイチわからないのでパスを変更

 54     'View_Twig' => array(
 55       //  'include' => APPPATH.'vendor'.DS.'Twig'.DS.'Autoloader.php',
            'include' => APPPATH.'vendor'.DS.'Twig'.DS.'lib'.DS.'Twig'.DS.'Autoloader.php',


fuel/app/config/config.php

227         'packages'  => array(
228             //'orm',
229             'parser', // parserを使うので追記
230         ),

これでOKなはずなのでテスト
fuel/app/classes/controller/welcome.php

 21     public function action_index()
 22     {
 23 //        return Response::forge(View::forge('welcome/index'));
            return Response::forge(View::forge('welcome/index.html'));

テンプレを作成

$ echo 'dice:{{ random(5)+1 }}' > fuel/app/views/welcome/index.html

これでランダムで
1〜6が表示されてれば問題なく動作。

この後何しよ・・・。

iMacを導入しているのでメモ。

■とりあえず
ソフトウェアアップデート
マウスの速度を最速に設定
F1〜F12キーをキーファンクションキーとして扱う設定
Caps Lockをアクションなしに
スクリーンセーバーを3分&時刻表示、カーソル左下で起動
Mission ControlでDashboardを作業スペースにしない
Timemachineのアイコン表示をOff
hostの変更(システム環境設定>共有>コンピューター名)
Dockの設定・整理
拡張子の表示
Javaのインストール(ユーティリティ>Java Preferences)
flashのインストール

■ブラウザ
iron
http://www.srware.net/en/software_srware_iron.php
 Create Link
 https://chrome.google.com/webstore/detail/gcmghdmnkfdbncmnmlkkglmnnhagajbm
 Screen Capture
 https://chrome.google.com/webstore/detail/cpngackimfmofbokmjmljamhdncknpmg
 read.crx 2
 https://chrome.google.com/webstore/detail/ajodnihifehjhdkhhleemlojnkjdncmb

■エディタ
CotEditor
http://sourceforge.jp/projects/coteditor/
Sublime Text
http://www.sublimetext.com/2

■AppStore
AppleIDの作成
 アップデート
 夜フクロウ
 Xcode
 Evernote
 Stuffit Express
 Skitch
 MPlayerX
 Sparrow Lite

■その他ソフトウェア
Google 日本語入力
http://www.google.com/intl/ja/ime/index-mac.html
言語とテキストの環境設定でことえりを外してGoogle日本語入力に。

skype
http://www.skype.com/

DropBox
https://www.dropbox.com/

Growl無料のやつ。
https://bitbucket.org/pmetzger/growl/downloads

Cyberduck
http://cyberduck.ch/

Titanium Mobile
http://www.appcelerator.com/

NetBeans
http://ja.netbeans.org/

PHPStorm
http://www.jetbrains.com/phpstorm/

■ウイルス対策
ClamXav
http://www.clamxav.com/


ここまで午前中の作業。
後はコマンドラインで色々入れる。

IKEAで作った快適?自宅オフィス

@tomohisaさんの
自宅作業が多い方にオススメ!IKEA で作った快適自宅オフィス « Zero4Racer PRO Developer's Blogを受けて
IKEAで揃えた自分の環境を晒してみるよ。
いろいろ晒そうかとも思ったけど部屋が汚いので1点だけ。

f:id:VulpesZerda:20120126205907j:plain

~概要~

転職を機に週3で自宅勤務になったので、
自宅の環境をIKEAで整えてみた。
モノグサなので椅子から手が届く範囲に全てある感じで。
あとは外が見れるように、2人でも影響がないようにといった感じで。

~デスク~

自分がコードを書を書く際は机に肘を付ける派なので奥行きが必要、
本もよく見るので両サイドに置けるように横幅も欲しい。
という事で下記な選択。

VIKA AMON テーブルトップ, ホワイト ¥ 3,000
http://www.ikea.com/jp/ja/catalog/products/60209737/#/30162227

VIKA CURRY 脚, ホワイトx4 ¥ 400x4=1,600
http://www.ikea.com/jp/ja/catalog/products/30167828/


ディスプレイはProLite B2403WSというちょっと昔のやつ。
HDMIで接続できるのが良い点。
HDMIだと解像度を変更してもパチンという感じの切り替えにならないのでオススメ。

そしてディスプレイアームはこれ。
エルゴトロン LX Desk Mount LCD Arm 45-241-026 ¥ 11,817

やはり自由な位置にディスプレイを置けるのは必須。
他のよりちょい高めだけど、壊れやすいパーツなのでケチらないほうがいい。

ちなみにこの広さだと3枚ディスプレイを並べ4台のPCを操作しても問題ありませんでした。


~チェア~

椅子は5年ぐらい前にアマゾンで。
肘置き付きで最安な商品を選択。
もっと良いのを買えばいいやと思っていたけれど
高級チェアより自分に合っていたので、継続使用。

山善(YAMAZEN) サイバーコム 肘付メッシュバックチェア ¥ 5,098

それと足元にはBOX STOOL TRUMPが置いてあります。
まとめのインテリアさんの記事を見て入手。
http://matomeno.in/products/item-1155.html
ちょっとした収納にもなりとても便利。
現在はオットマンと自炊時の椅子として2個あります。

~収納~

入り口が見えるのが好きではないので間仕切りとして購入
購入当初は本棚として使用しようと思ったものの、
補強をしないと強度が不安だと感じ、
最下段のみ常時両面本棚として使用し、
他は適当に使用しています。

EXPEDIT 書棚, ホワイト ¥ 15,900
http://www.ikea.com/jp/ja/catalog/products/80185486/

右上にはパーソナルクラウドのPogoplugを設置しています。
購入当時は日本で販売していなかったので
個人輸入で取得。当時で1万2千円だったかな。
今はヨドバシカメラとかでも買えるのでぜひ。

Pogoplug POGO-E02 ピンク

ただ、現在はネット回線をWiMAXオンリーにしているので
ローカルファイルサーバと化していたりします。

~本棚~

写っていはいないけれど、椅子の後ろに本棚が3つ。
コミックのみ入れる予定で余計なスペースがない物を選択。
背の高い本棚は圧迫感があるのと地震とか怖いので腰辺りまで。
集中力が切れてる時に真後ろに好きな漫画があると捗ります。

山善(YAMAZEN) 文庫本収納ラック 本棚カラーボックス ¥1,800x3


~その他~

プリンターと自炊用品は頻繁に使うものではないのと
真横での印刷音が気になるので別の場所に置いてあります。
画像奥にあるテーブルがそれです。
分けたことにより自炊中に急に仕事が入っても
影響がないので、良かったです。

ケーブル類は机の下にありますが、
ミニタワーなPCの上に置いているだけで
特筆すべき点は何もないです。








@tomohisaさんの記事に比べ
ぜんぜん捗らないエントリになってしまった。
もうちょい書ければと思うけど
それは部屋が綺麗になってから:-P

FuelPHPのviewをTwigにする

FuelPHPはデフォルトでParserパッケージが用意されている為

簡単にTwigを扱うことが可能です。

マニュアルの情報で十分ですが、

英語なので日本語で解説してみたいと思います。

 

まずはTwigの公式サイトから

Twig本体をダウンロードします。

 

解凍してlib以下にあるTwigフォルダを

そのまま app/vendor/ にコピーします。

 

そして app/config/config.php

packagesの設定に parser を追加します。

 

'packages' => array(

    // 'orm',

    'parser',

),

  

これで環境の準備完了です。

 

あとはControllerのaction内で

 

$data = array('hoge' => '受け渡したいデータ');

return Response::forge(View::forge('コントローラー名/ファイル名.twig', $data));

 

といった形でTwigを使ってくれます。

 

それと拡張子や設定を変えたい場合は

packages/parser/config/parser.php 

を app/config/ にコピーし、

twigの部分を変更して下さい。

 
以上、とっても簡単ですね。

FuelPHPの役立つリンク集

Hatena Blogの投稿テストと共に

ブックマークの整理してみた。

 

FuelPHP公式

http://fuelphp.com/

 

ドキュメント(英語)

http://docs.fuelphp.com/

 

NEKOGETさん達による翻訳中のドキュメント

http://press.nekoget.com/fuelphp_doc/

 

そのGitHub

https://github.com/NEKOGET/FuelPHP_docs_jp

 

KenjiさんのFuelPHP関連の記事

http://d.hatena.ne.jp/Kenji_s/

 

鉄は熱いうちに打て-コピペプログラマーのためのFuelPHP動作実験その1

(サンプルソース&お砂場づくり) - ヌル日記

http://d.hatena.ne.jp/dix3/20111119/1321684421

 

FuelPHP Advent Calendar 2011

http://atnd.org/events/22380

 

FuelPHPに関するまとめ - NAVERまとめ

http://matome.naver.jp/odai/2132184009888635501

 

stationwagon(サンプルコード集)

https://github.com/abdelm/stationwagon

 

twitter認証package

https://github.com/dhorrigan/fuel-twitter

 

Social Package (Facebooktwitterの認証)

https://github.com/gkwelding/FuelPHP-Social-Package