得意(?)な事をやりましょう
ハイ、そうです。デザインを探してネットサーフィン(死語)するのに疲れ果てたので、ひとまずデザインは置いといてコンテンツから作り始めることにしました。
webサイト作成の王道は、デザインまずありきと聞いたのですが、タイトルはそれに挫折した事の言い訳です▼*゚v゚*▼テヘッ
いや~、しかしデザインをうっちゃるとなるとサクサク物事が進みます。取りあえずサイトの入り口になるコントローラを作って、ビューファイルをせこせこと作成して、とやっているところに1つ問題が…。
管理画面のコントローラで、毎回
$this->output->set_header(UTF8なんです);
とかやるのが面倒だったので、CIのコアクラス(この場合Controller)を継承したMY_Controllerを作り、そこに共通処理をお任せしていたワケです。
で、公開用のコントローラも同じように共通処理はまとめておきたいな~、としばし考え、こんな風にしてみました。
MY_AdminController(管理画面用コントローラはこれを継承する)
MY_PublicController(公開画面用コントローラはこれを継承する)
え~と。エラーです(_□_;)!!CIに怒られます(_□_;)!!考えれば当たり前です(_□_;)!!
そもそも、「MY_」はコアクラスを拡張したものに置き換える際に付けるプレフィクスとかいうヤツなのですよね?application/library内にこれが付いたコアクラス名のファイルがあれば、CIはこちらを優先してくれる、と確か徹底入門に書いてあったような…σ(゚・゚*)
つまり、Controllerを拡張したいなら「MY_Controller」、Modelを拡張したいなら「MY_Model」というファイル名でなければいけないハズ。そこに上記のようなファイル・クラス名でControllerを継承して「へっへっへっ、CIサン、Controllerはコイツで頼みますぜ」などとしても、華麗にスルーされるワケですよね(この辺の技術的な事に関しては、今イチ自信が持てないのですが)。
完全に作り手側に問題があった (・・*)ゞと判明したところで、さてどうしようとまたもやしばし悩みました。MY_Controllerを公開画面にも利用する、という選択肢も考えましたが、セッションだの何だの公開画面では縁の無さそうな機能までロードされてしまうのは、何だか「リソース」とかいうものの無駄遣いのような気がしますし何より気持ち悪い。
そこで思い出したのが、これまた徹底入門に書いてあった「独自ライブラリでCIのリソースを利用する」という方法。
$CI = &get_instance();
とすれば、
$CI->load->library(何か適当に);
$CI->load->view(これまた適当に);
とか出来るという事ですよね?というワケで、これを上手く活用して公開画面用MY_Controllerもどきの自作ライブラリに初挑戦!!と息巻いてゴニョゴニョとやり始めました。
考え方として正しいのかどうかサッパリ「?」なのですが、取りあえず現段階では思った通りに動いてくれているので良しとしてしまいます。間違ってたらまたやり直せばいいしヽ(゚~゚o)ノ アキマヘンワ
こういう風に開き直ってしまえる所が趣味の強みでしょうか。けどやっぱり、デザインであれこれ悩んでるのに比べたら極楽のようです。PHP(今までずっとphpとしてましたが、大文字表記が正しいそうで)やっぱり楽しいな~、とまた一人夜中にニヤニヤしているのでした。
う~ん、キモイ| |д・) ソォーッ…
