WHAT'S NEW?
Loading...

Yii 1.1 | SQLiteとGii

最近のフレームワークは昔のとは違い、ジェネレータ機能が最初から含まれてる場合が多いよね。

Ruby on Railsは残念ながら触ったことがないのでわからないけど、CakePHPにはbakeがある。

そしてこのYiiにはGiiがある。発音はギィでいいのかな。

余談だけどZiiというのもあるので、Giiをジィと呼ぶと紛らわしくなるので、カタカナでギィと発音することにするよ。

そしてジェネレータはややおせっかい度とホスピタリティが高いんだけど、のちのち嫌がらせにしか思えなくなる事請け合いなしなので、本当は個人的には使いたくない。


CakePHPの時も、bakeは全然使ってなかった。もちろんマイグレーションとかで使ったりはしたけど、CRUDでページ生成とかは、HTMLのタグも気に入らないし、そもそもビューなのにロジックが入ってたりして、あんまり好きじゃない。最終的に好きな形になった時と比べると、おそらく自動生成されたビューは跡形も無いだろうね。俺はもともとアーティスティックよりのエンジニアなので。

とは言え、Giiはどうも通過するだけでは済まなそうな感じがした。実際問題どこまで使えるのかよくわかってないけど、あるのであれば使ってみようじゃないか、と。

ところで、こちらのチュートリアルはどこまで進んだんだろうか。
前回は特に説明しなかったけど、SQLiteの設定、git向けの自動設定なんか、済ませてあるのを前提として話を進めるよ。

ちなみにSQLiteの管理ツール、手っ取り早く使いたかったので、FireFoxのアドオンである『SQLiteManager』をインストールして使ってみた。これ、起動も軽くておすすめなんだよね。特にFireFoxつかって開発するならぜひ入れておきたいアドオン。

もちろん俺は普段Chrome使ってるので、別途FireFox起動して使ってるけど、その程度で悲鳴を上げるほどの低スペックのマシンは使わない主義なので、何の気兼ねもなく複数起動させているんだ。そうそう、メモリは最低でも16GBはないと負けだと思ってる。


このアドオンを使いたくなった愉快派の君は、ここからダウンロードして使うことができるんだ。

https://addons.mozilla.org/ja/firefox/addon/sqlite-manager/

ぜひFireFoxでこのリンクをクリックしてもらいたい。
別に作者と懇意ってわけじゃないのでそこら辺はいらぬ詮索はせぬように・・・。お金はもらってません。

閑話休題。

SQLiteの設定はmain.phpに書く。
main.phpは『/testdrive/protected/config/main.php』にあるので、チュートリアルを参考に設定を済ませているはず。そうなってなかったらそうしていただきたい。全力で。

設定し終わってからブラウザで見てみるとdbファイルが生成されている。それをSQLite Managerで開けば準備万端。簡単だね!!

それでは早速GiiをつかってCRUD生成しようじゃないか。

ブラウザで『/testdrive/index.php?r=gii』にアクセスすると、こうなる。
前回説明したとおり、パスワードをわかりやすいものに変更しているはずだ。そのパスワードを入れればログインすることができる。


前回の設定では、パスワードは『thisisit』にしたので、それをタイプしてEnterボタンを謳歌。もとい、押下。

正しくログインできればこんな画面が待ち受けているはずだ。そっけないしやるせない。



さて、ここでチュートリアルの通り進めてみたとする。
次にやることは、『/testdrive/index.php?r=user/admin』を見に行くことだ。
ここでまたつまずいた。

またログイン画面が出てくる。はて?

しばらく考えた。これはアドミニストレータ権限でしか入れないページなのだ、と。
そう、よくわからないがそういうことだ。

そしてアドミニストレータ権限のユーザなんか作った記憶が無いし、そもそもユーザ名とか言われてもちんちんまんまん。もとい、ちんぷんかんぷんでござる。



そう、俺はおもむろにSQLite Managerを起動して、チュートリアル通りに作った『tbl_user』テーブルを覗いてみた。

うぅむ、しかしなんだかこれは違う気がする。テストデータ的なものだし。

で、チュートリアルの文章をよくよく読んでみると、『admin/admin を使って管理者としてログインすると、』って書いてある。

なぁんだ、つまり、『/testdrive/index.php?r=admin/admin』って認識しちゃってたけど、そもそもそんなのないよ!user/adminでしょ?この文章訳すのミスってるのかな?って勘違いしてたけど、ミスってるのは俺の脳髄であって、このadmin/adminってのはアカウントのことだったことよ。


というわけで、勘違い大王の俺が改めて『/testdrive/index.php?r=user/admin』ページにUsernameが『admin』、Passwordも『admin』でログインしてみたら入れた。


めでたしめでたしだぜこの野郎!!

そう、ここらへん、いろいろいじってみるといいかもね。
admin/adminってもしかしてハードコーディングされてるのかな?
まぁ別にいいけどね。


では今回はこれまで。