やっぱり基礎を固めないと?
こんにちは。しゅーのーです。
今日は土曜日ということで、phpの勉強をたっぷりできるな、と思っていました。
結局、エラーにより参考書と画面を目で往復するだけになってしまった感じはあります。
参考書はこちら。
参考書の応用部分は後回し
結論として、「Webアプリケーション部分はどこがエラーになっているか分からないので無理」ということになりました。
phpも始めたばかりですし、それを応用したフレームワークのCodeIgniterを使って書くコードは、構造が全く理解できませんでした。
以前から書いているとおり、バージョンの違いにより、色々書き直さないといけない部分が多いため、今のぼくの実力では無理だと思います。
CodeIgniterのチュートリアルをやってみた
じゃあ、まずはCodeIgniterの基礎をやってみよう、ということでチュートリアルを始めてみました。
これなら何とか理解できるんじゃないかという希望を持っていました。
今日は「静的なページ」の部分だけができました。
これなら簡単でした。モデルとコントローラーとビューの関係も分かりやすかったです。
書かれているとおり、しっかり動作しました。
次の「ニュースセクション」というものは問題がありました。
やはりエラーが出てしまって、先に進めなくなってしまいました。
しかもこれまでに見たことのない、新しいエラーで意味がわかりません。
ちなみにこんなやつです。
うーん、ちゃんとチュートリアルに書いてあるとおりだったんだけどなー。
まだモデルが呼び出してくるデータベースに何も入っていないからなんでしょうか。
でも何もなかったときの条件分岐もしてあるみたいだし、やっぱり分からない。
もう少し見直してみることに
チュートリアルもお手上げ、ということであれば、もう一度参考書に戻る必要があるのだと思います。
結局のところ、基礎的な部分でもう少しスキルアップしないと、構造も意味も理解ができないと思うからです。
参考書は3周目になりますので、今度は練習問題にもトライしていこうと思っています。
練習問題は難しい内容だったので、飛ばしていたのでした。
ちょっと参考書の変更も考えていかなければならないような気もして来ましたが、とりあえずそれは後日。
今日はここまで。ではー。
ぐるめMAPづくり(検索画面)のコードが打ち終わったけど・・・?
こんにちは。しゅーのーです。
今日は金曜日ということで、さっさと家に帰ってきてphpの勉強をしていました。
参考書はこちら。
検索画面のコードが打ち終わったけど・・・?
今日でなんとかサンプルである「ぐるめMAP」の検索画面のコードが書き終わりました。
長かったですね。アプリケーションを作るのって大変だ。
まだ1ページしかできてないし、設計図はぼくじゃなくて、本の著者が書いたものをなぞっただけですからね。
これを1人でやると考えると、、、ちょっと怖いですね。
さて、コードは打ち終わったのですが、困ったことにエラーを吐いてしまっている状態です。
今日はエラーがいっぱい表示された日でした。
Page Not Foundからsyntax errorまで、まーそれはそれは心が折れるほどエラーが出てくれました。
中途半端
結局、今日は検索画面の完成を見ることがなく終わりました。
がっかりです。
でもエラー画面で何行目が間違ってるかが書かれているので、その辺りを見ながらなんとか修正していこうと思います。
それでもできなかったら、とりあえず「日本CodeIgniterユーザ会」のチュートリアルに移行することにしようかと思ってます。
、、、それとも参考書の最初の方をもう一周するか。
参考書には練習問題がついているのですが、それは3周目でやるつもりでした。
しかし、CodeIgniterがこれだけ動いてくれないとなると、もう少しphpの基礎的な能力を上げてからトライした方がいいような気がして来ました。
「初心者こそフレームワークを」って書いてありましたが、CodeIgniterのページには中級者なら数日で理解できるはず、との記載が。
初心者がどうこうできるレベルの問題ではないのかもしれません。・
まずはやってみる
弱音ばかり吐いてもいられないので、明日はとにかくコードの打ち間違えが本当にないのかを確認するところから始めようと思います。
これまでの傾向からすると、結構ケアレスミスが多いので、そこのあたりを重点的に見ていこうと思います。
今日はここまで。ではー。
はたしてこのコードは合っているのか
こんにちは。しゅーのーです。
今日から背伸びしてWebアプリケーション実践編に突入です。
参考書はこちら。
ちょっとその前に、、、
昨日も少し書きましたが、CodeIgniterのバージョンが進んでいるため、ファイルの構成やら何やら色々変わってしまっていました。
そんなわけで、今日の仕事の休憩時間に、「日本CodeIgniterユーザ会」のHPを見ていました。
見るとインストールの方法から、どういう流れで動くのかや、チュートリアルまで載っていました。
チュートリアルでは「ニュースアプリケーション」を作っていって、基本的なことを学んでいくみたいです。
もしかして、こっちを先にやった方がよかったんじゃね?と思ったところです。
参考書に書かれている、CodeIgniterの予約語とか実際に変わってましたからね。
これから動かすWebアプリもうまく動いてくれない可能性が濃厚なので、もしそうなったらまずはチュートリアルから始めてみようと思います。
今日は「モデル」部分のコーディング
さて、参考書の実践編では「ぐるなび」のようなものを作ることを目標としています。
今日はphpのフレームワーク、MVCパターンのMの部分、「モデル」をコーディングしていました。
モデルは主に、データのやりとりをする部分になるみたいです。
かなり書くことがいっぱいあって、今日は途中までしかできませんでした。
「ぐるなびWebサービス」のURLも変わってしまっていたので、その辺りのコードは「なんとなくこうじゃないか」って感じで打ってます。
今のところ「ぐるなびWebサービス」のAPIからデータを引っ張ってくる部分をひたすら書いています。
引っ張ってきたデータから、お店の名前や住所なんかを取り出して、配列に入れていくことをが目的みたいです。
「モデル」部分はテストができない?
これまではphpで書いたコードはすぐにテストすることができたので、「間違っている箇所」というのがすぐに分かりました。
しかし、モデル部分については、実際に「コントローラー」で操作して、「ビュー」で表示してみないことには、間違っているのかどうかすら分からないのではないかと思っています。
この考え方で合ってるのかすら怪しいことこの上ないですが、とりあえず今はひたすらコードを打つしかなさそうです。
今日はここまで。ではー。
フレームワーク、難しすぎません?
こんにちは。しゅーのーです。
今日で今週も折り返し。休憩時間などを利用しながら少しずつ勉強していってます。
参考書はこちら。
フレームワークの理解が追いつかない
今日はフレームワーク、CodeIgnterの書き方を勉強していました。
正直に申し上げて、難しすぎて頭がついていってません。
オブジェクト指向までは何とかついていけてましたが、これを応用した途端に急にレベルが上がったような気がします。
便利そう
なんとなく分かることは「これができれば、便利そうだな」ということです。
カレンダーなんかも自分でコードを書かずに、ちょいちょいっとクラスと引数を入れてやれば、一瞬でできてしまうみたいです。
今ぼくが考えているWebアプリにも、カレンダー機能を実装したいので、これはとても参考になりました。
バージョンの差が致命的
難しい難しいばかりも言ってはいられないので、コーディングに着手することにしました。
結構新しい用語が出てきたりしたので、その概念に触れることが大事なのかと思います。
MVCは「Model」、「View」、「Control」のことだとか、それくらいなんですけどね。
今使っている参考書、2011年発刊のものなんですが、それからCodeIgniterもphpもバージョンがどんどん変わっているので、ちょっと困ったことが起きています。
参考書どおりにやっても上手くいかないことが多いですね。
そもそもファイルの置き場所が違ったりするので、困惑しています。
Webアプリに着手
というわけで、考えていても仕方がないので、明日から早速参考書に載っているサンプルのWebアプリケーションを作ってみようと思います。
やっているうちにきっと、CodeIgniterのことも分かってくるんじゃないかと思います。
もうどうしようもなくなったら、Twitterとかで叫びまくって聞いてみようかと思ってます。
果たして反応してくれる人がいるのかは疑問がありますがね。
まぁ、この参考書も1周目ですし、気長にやっていきます。
今日はここまで。ではー。
オブジェクト指向とCodeIgniter
こんにちは。しゅーのーです。
今日もなかなかに苦戦しましたが、前に進んだ感じはありました。
参考書はこちら。
オブジェクト指向は「なんとなく」
昨日までで、アンケートフォームとコンタクトフォームが作れるようになったので、phpでの基本的な内容は1周したのかと思います(多分)。
今日は「オブジェクト指向」というものを学びました。
読んだ感じや、コードを打った感じで、今の感触としては「ユーザー定義関数のでっかい版」という認識なんですが、それで大体合ってるんでしょうか。
オブジェクトの中にはプロパティと言う、今まで変数と呼んでいたものと、メソッドと言う、今まで関数と呼んでいたものを「えいや」って突っ込んでいるようなイメージでした。
引数でデータを渡してやれば、定義したクラスにしたがって、いっぱいオブジェクトを生成してくれるっていう便利なもの、みたいです。
まだプロパティのアクセス権や、継承といったものまで行き着いていないのですが、今のところ順調にきているように思います。
今日はエラーとか吐かれてないですしね。書いたコードが少ないってのもあると思いますが。
フレームワークで便利に使おう?
オブジェクト指向を学ぶと、フレームワークというものが使えるようになるという話でした。
いや、フレームワークを使えと言った方が正しいのかもしれません。
そっちのほうが初心者は安全にWebアプリを作れるようになるそうです。
使うフレームワークは「CodeIgniter」です。
参考書では「これが一番簡単で分かりやすいから」ということで、入門的な意味合いでこれを使って勉強していくみたいでした。
バージョンが違うといろいろ違う
ただ、ちょっと問題があったのが、参考書の出版年が古くなっていたため、CodeIgniterのバージョンがどんどん進んでいて、phpのバージョンに追いついていないことがわかりました。
おかげでちょこちょこエラーを吐いてくれています。
一度、参考書の示していたバージョンのCodeIgniterを入れてみたのですが、それはそれでphp側で処理できないものがあったりして、ちょっと厄介です。
これについては自分でCodeIgniterのドキュメントを読んでみるしかなさそうですね。
幸い、ネット環境があればドキュメントは読めるので、仕事の休憩時間で読めそうです。
明日は細切れになりますが1時間くらい勉強の時間が取れるのではないかと思っています。
今回のフレームワークの基本的なところを押さえれば、次はWebアプリっぽいものができるみたいです。
なるべく早くそこまで行き着きたいものです。
CodeIgniterの仕様、あんまり変わっていませんよーに。
今日はここまで。ではー。
コンタクトフォームが完成しました!
こんにちは。しゅーのーです。
勉強する習慣も身についてきた今日この頃。これが長く続けばいいのですが。
参考書は例によってこちら。
ようやくコンタクトフォームが完成
昨日はプログラム部分が思ったように動かない、確認画面にエラーの表示もできないという散々な目にあっていたわけですが、なんとか完成にこぎつけました。
途中でもうダメかとも思いましたが、参考書とにらめっこしながら、不具合を1つ1つ潰していきました。
何がダメだったのか
今回うまくいかなかった原因はなんだったのか。
それは意外と単純だったりしました。
・HTML部分の記法が間違っていた
・phpの構文が間違っていた
間違っていたのは、2箇所。
これだけでプログラムがぜーんぜん動きませんでした。
もっと具体的に書くとすると、HTMLでは「 <font color="red>"」とかになってましたし、phpの方では「ehco」とか書いてあったりしました。
我ながらケアレスミスのレベルにガックリきています。
今回はユーザーが入力したデータをセッションを利用して受け渡したり、正規表現という機能でエラーのチェック等をしたり、難しい内容が多かったんです。
きっとそこが間違っているんだろうな、と思っていたら、全く別の部分で間違っていました。
まぁその分、参考書のコードをいっぱい読むことができたのでよかったことにしましょう。
phpのエラー表示について
これまでphpで何か書き間違っていると、画面が真っ白になっていました。
それで以って「あーなんか間違っているんだな」と判断していたのですが、他にも方法がありました。
というより参考書には、「ブラウザにエラーが表示される」と書いてあったのですが、ぼくの場合は表示されなかったんですよ。
なんでかなーと思いながら何となくやっていたわけですが、これ結構不便なんですよね。
どこで間違ってるのか表示してくれれば、今回ももっと早く解決していたはずでした。
それから検索をしてphp.iniの「display_errors」を「On」にすればいい、という答えを得たんです。
早速試してみたんですが、一向に表示してくれない。
なんでだろ、と思いながらまた検索しまくってたんですが、いじくる「php.ini」が違うだけでした(これを調べるのにも20分くらいかかりました)。
おかげでsyntax errorとかが表示されるようになりました。
表示されたあとも少しエラーで苦しめられたんですけどね。
まぁそれはいいでしょう。
次はオブジェクト指向を学ぶ
明日からはオブジェクト指向プログラミングという手法を学びます。
これをマスターすれば、他の言語でも応用が効くみたいです。
じっくりやっていこうと思います。
今日はここまで。ではー。
コンタクトフォーム作り苦戦中
こんにちは。しゅーのーです。
今日は家に新しいハードウェアが届きました。
テレビのレコーダーなのですが、そこには「Java」の文字が。
phpでWebアプリができたらJavaも覚えてみてもいいかもしれません。
今日も参考書はこちら。
今日の収穫
率直に言うと「ありません」。悲しい。
アンケートフォーム作り、かなり難航しています。
と言うのも、参考書どおりに作っているはずなのですが、うまく動作してくれないのです。
通常の動作もそうなのですが、エラー処理も全くうまくいっておらず、もう一回最初からコードを見直す必要があるのかもしれません。
ちなみに、画面自体はなんとか表示されているので、記法の間違いとかではなさそうです。
多分、ユーザーの入力したデータがうまく受け渡せていないのではないのかと思います。
その受け渡しの部分の処理が思ったように行っていないと。
こうなってくるとただの写経のようなコーディングではなくて、1個1個関数の意味をもう一度確認しながら進めていく必要がありそうです。
当初の予定ではコーディング2周目でこの作業をする予定だったので、それが少し早まった感じですね。
なるべく早めに終わらせて次に移りたかったのですが、仕方がないですね。
つまづいてるのはここ
今のところつまづいているのはここです。
1.コンタクトフォームの確認画面が表示されない
2.エラーをわざと発生させようとしても発生しない
この2点ですね。
今回はユーザー定義関数なんかも出てきているので、そのあたりに原因がありそうな気がします。
一通りコードは打ち終わっているので、明日はもう一度見直す作業をしていきたいと思います。
今日はここまで。ではー。