*近況
こんにちは!かわたまです。
更新が大幅に遅れてしまいました・・・><
実は12月にこの試験を受けてなんと私、合格しました^O^
合格後のコラムになってしまいましたが、今回もしっかりお勉強していきたいと思います!
今週はインプレス「徹底攻略 PHP5 技術者認定[初級]試験問題集」の第8章と第12章〜第14章を勉強しました。
第12章 デバッギング
第13章 クラスとオブジェクト
第14章 日本語処理
【第12章 デバッギング】
開発中は、オブジェクトの中身やエラーを表示させてチェックしながら動作を検証することが大切!推測ではなく実際に現象をみて、対処することが素早く開発するために重要です。
–よく使う(と思われる)デバッグに便利な関数
■ echo / print・・・変数の中身や文字列をブラウザで表示
■ var_dump()・・・配列や変数、値、型など、オブジェクトの中身をブラウザで確認。複数の値を渡したり、関数の実行結果を渡すことも可。
■ debug_backtrace()・・・関数呼び出し元のバックトレースを確認。
■ get_included_files()・・・インクルードされているファイルを確認。
■ error_log()・・・指定したファイルや環境にphpのエラーを出力させる
phpが発するエラーの種類(php.iniで表示させるエラータイプを指定できる)
・パースエラー(文法ミス、構文ミス、予約語を関数などに定義してしまったときなど)→プログラム停止
・致命的なエラー(定義していない関数の呼び出し、メモリ不足など)→プログラム停止
・警告(引数のミスなど)→プログラム停止しない
・注意(変数を初期化しないで使った場合など)→プログラム停止しない
・厳格注意(phpのバージョン管理)→プログラム停止しない
・互換性の注意(バージョン管理)→プログラム停止しない
普段、phpやjQueryに少し触れていますが、デバッギングができないと本当に開発が進まない・・・
しっかりマスターしたいところです。
第13章 クラスとオブジェクト
クラスとは、プログラムの設計図。クラスをもとにオブジェクトを生成することを「インスタンス化」といいます。
ひと通り勉強してみましたが、難しい・・・。
難しかったので、少しだけメモ。
—
クラスをインスタンス化する際は、new演算子を使う。
クラスで定義された関数を「メソッド」、変数を「プロパティ」という。これらはクラスをインスタンス化して初めて利用できるようになる。
メソッドとプロパティを使うときは、「->」演算子を使う。
クラスをインスタンス化したときは変数の初期化が必要。「コンストラクタ」として定義したメソッドは、クラスがインスタンス化されると自動的に実行される。
—
クラスとオブジェクトの知識は大規模なサイトの構築や、繰り返し実行する処理を効率化するのにとても便利のようなので、このあたりはおいおいマスターしたいと思っています!
第14章 日本語処理
英数字と日本語文字はバイト数が違うため、日本語を処理する場合はマルチバイト文字対応の関数を使う必要があります。
文字列を扱う文字列関数
—
strlen(文字列の長さを返す)
strpos(指定の文字が列が、0から数えて何番目にあるか返す)
substr(0から数えた、部分文字列を返す。マイナスの引数は後ろから数える)
str_replace(文字列の置換)
—
phpで日本語などのマルチバイト文字にも対応させる場合は、上記の関数の前に「mb_」を付けた、mbstring関数を使います。
mbstring関数の機能
・文字エンコーディングの自動検出
・文字エンコーディングの相互変換
・マルチバイト対応の文字列処理関数
・マルチバイト対応の正規表現関数
正規表現は、文字列をパターンで表現する方法。文字列の検索や置換を行うときにとても便利な使い方ができます。
まだ実務で使う機会はありませんが、使いこなせるようになったら楽しそうなので、色々試してみたいと思います!
*4週目のまとめ
プログラムを書く上で必須のデバッギングですが、プログラミング初心者にとってはそれすらも難しい。
どの位置でどのデバッグ関数を使うのが適切なのか、困ることが多々あります・・・。
このあたりは数をこなして慣れるしかないですね><
クラスとオブジェクト、正規表現はちょっとレベル高めなので、基本的なことをマスターしてから挑戦してみたいと思っています^O^
執筆者:株式会社Bisca 河田 真紀子 氏
(ハンドルネーム:かわたま)
インターネット業界の実務経験ゼロの状態で web制作会社に入社し、制作部に配属。webデザイン、html/css を中心に学びながら数年間勤務後、退社し現在はフリーランスでweb制作のお仕事をしています。
退社後フリーランス宣言したはいいものの、自分の知識の足りなさを目の当たりに・・・。それから少しずつ経験を積みながら、勉強しながら日々前進しています。
学んだことを書き留めるブログとして「かわたま.net」を運営しています。