Re:

感銘高き名言は「1%のひらめきがなければ99%の努力は無駄である」(トーマス・エジソン)

カテゴリ:開発 > NetBeans

別にWindowsでもいいんですが、インストールパッケージが用意されていてクリックだけで進められるので、Mac OS XのSDK zipダウンロードとかしたあとどうすんの?っていう需要に応えられればとメモがてらエントリしておきます。

それに、EclipseじゃなくNetBeansっていう。

Objective-CよりはJavaのほうが取っ付き易いなって…まあPHP5のオブジェクトレベルな脳みそでごめんなさい。

続きを読む

普段はWindowsなので、TortoiseSVNでバージョン管理してるんですけど…。

プログラム→コミット→動作確認という流れのままに、NetBeans→エクスプローラ(TortoiseSVN)→ブラウザと、ウインドウを頻繁に行き来してました(昨日まで)。

フォルダ右クリックしてコミットとかやってました(昨日まで)。


今更ながら、NetBeansとSubversionでのバージョン管理を設定し連携を試しまして…いままですげー手間なことしてたわ!と気づきました。


さらには、オプションのキーマップも知ってて見過ごしてたっていうね。


ショートカットねぇのか…めんどくせぇとか、はじめからキーマップが用意されている。

なぜキーマップしない、オレ。


Macの場合、メニューのNetBeansから環境設定でオプションへ。

ピクチャ 6

キーマップには、すべてのメニューに対するキーマップが行えるので、SubversionのコミットへAlt(option)+F12を、更新へAlt(option)+F11を割り当ててみた、の図。

ピクチャ 7

コミット、更新がショートカット一発って楽。

普通の人なら絶対最初からやってるよーなことを、やっと覚えた。



NetBeansに乗り換えてカイハツを行っています。

それまでまぁ、テキストエディタを使ってたりすることが殆どで、今の前身ではEclipse PDTも便利だったなぁと思いますが、全然使いこなしてないNetBeansながら、とりあえずコード補完が生産性の向上に一役買ってます。

ナビゲートの宣言移動や、使用状況などの補完系も重宝。


ようやくPHPフレームワークをCodeIgniterと決め込みコードを書いててぶち当たったんですが…モデルクラスが補完できない。


CodeIgniterのモデルは

$this->load->model('モデルクラス名')

これで $this->モデルクラス名 として利用できるのですが、これだとNetBeansが補完してくれません…。


検索したところ、以下の情報を見つけました。

http://www.mybelovedphp.com/2009/01/27/netbeans-revisited-code-completion-for-code-igniter-ii/


phpDocumentorの@property 記述で /nbproject にファイルを置いておけば一応解決策になるようです。

モデルを追加するたびに発生する作業ですが…。


ファイル名は特に決まりはなく、自分は properties.php として

<?php
/**
 * @property Cards $Cards
 */
class Controller {}
のような感じで置きました。

コントローラやモデルソースの好きな箇所(MY_Controller、MY_Modelに書いておいて継承しておくのが一番楽だね)に記述しておいても有効でした。

これで、

$this->load->model('Cards');

としたときに

$this->C まで入力したとして $this->Cards 補完が行え、さらに $this->Cards-> まで入力すると $this->Cards->getCard() といったメソッド補完(一覧)が可能になります。

クラス補完の例:

nb01

メソッドの補完の例:

nb02

もっとスマートな方法があったら教えてください…。

CodeIgniterを使い始めて数ヶ月たったころ、DooPHPを知りました。

英語のドキュメントしかありませんが、CodeIgniterより良さそう。


DBを拡張したいときレプリケーション設定ができたり、データキャッシュの手段もいくつか用意されたり、REST API構築もサポート。

小規模開発から大規模開発まで十分担ってくれそうなフレームワークですね。


フレキシブルでも取っ付きにくい感じは少なく、DooPHPの利点として挙げられているとおり、わかり易いかもしれない。


ついでに、Eclipse PDTからNetBeansにシフトしようかなぁと思ってインストールしました。

nb1

とりあえず、DooPHPにしてもNetBeansにしても、使い慣れが必要。



DooPHPですが、/app/protected/viewの.htmlテンプレートを表示しようとしたときに、/app/protected/viewcに.phpとして書き出すみたいで、viewcディレクトリに書き込み権限がないとページが表示されませんでした。

そんなことドキュメントに見なかったので、render()メソッドを読んでわかりました…。

viewのドキュメントに書き添えてあって欲しかったな。


htmlテンプレートをレンダリングするときはrender()メソッドを、phpテンプレートをレンダリングするときはrenderc()メソッドを使 います。



ついでに、file_get_contents()関数を使っているので、レンタルサーバなんかでallow_url_fopenが無効になってるPHPバージョン5?だと、ini_set()、.htaccessでは設定不可のため設置できなそうです。

/dooframework/view/DooView.php
compile()メソッド

$str = file_get_contents($vfilename);



ob_start();
include_once($vfilename);
$str = ob_get_contents();
ob_end_clean();


とか書き換えたら使える?

↑このページのトップヘ