サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
codeigniter.jp
CodeIgniter ユーザガイド
© Copyright 2014 - 2016, British Columbia Institute of Technology. 最終更新: Nov 23, 2016 Japanese Translation: CodeIgniter Users Group in Japan(この日本語訳のライセンスは、LICENSE.md を参照してください)
PHP スタイルガイド¶ このページでは CodeIgniter の開発に貢献する際に守っている コーディングスタイルを記述します。あなた自身の CodeIgniter アプリケーションではこのスタイルを使用する必要はありませんが、 推奨はいたします。 ファイル形式¶ ファイルは Unicode(UTF-8)エンコーディングで保存すべきです。BOM は使用 しないべきです 。UTF-16 や UTF-32 とは違い、 UTF-8 でエンコードされたファイルには示すべきバイトオーダーはなく、 BOM は PHP の出力に悪影響があり、アプリケーションから独自のヘッダーを設定できないようにしてしまいます。 Unix の行末は (LF) を使用すべきです。 ここではよく使われるテキストエディタのいくつかで、 これらの設定を適用する方法を示します。テキストエディタの手順は変更される場合があります。
ヘルパーは、その名前のとおり、タスクの実行に役立つものです。各ヘルパーのファイルは、特定分野についての関数のコレクションです。 リンクを作成するのを支援する URL ヘルパー、フォームの要素を作成するのに役立つ フォームヘルパー、 様々なテキスト整形処理を行う Text ヘルパー、 クッキーを読み書きする Cookie ヘルパー、ファイルを取り扱うのに役立つ File ヘルパー などがあります。 CodeIgniter の中の大部分のシステムとは違い、ヘルパーはオブジェクト指向の形式で書かれていません。シンプルな手続き型の関数です。 各ヘルパー関数は、他の関数に依存することなく、特定のひとつのタスクを行います。 CodeIgniter はデフォルトでは、ヘルパーを読み込みません。ヘルパーを利用する最初のステップは、 それを読み込むことです。一旦読み込まれると、 コントローラ と ビュー の
CodeIgniter のデフォルトの URL は、検索エンジンにも人間にもわかりやすいように設計されています。 動的システムの代名詞といえる一般的な"クエリ文字列"アプローチを採用する代わりに、CodeIgniter では次のような セグメントベースアプローチを採用しています: example.com/news/article/my_article Note: 後述するように、クエリ文字列をURLで使用することもできます。 URI セグメント Model-View-Controller アプローチに従うと、URL の中では、セグメントは大抵次のように表現されます: example.com/class/function/ID 最初のセグメントは呼び出すべきコントローラクラス をあらわします。 2番目のセグメントは、クラスの呼び出されるべき関数またはメソッドをあらわします。 3番目以降のセグ
"ライブラリ" と言えば、ふつうは、 libraries ディレクトリにあるクラスで、このユーザガイドのクラスリファレンスで説明されているクラスのことを指します。 しかし、ここでは、その代りに、ユーザライブラリの作成方法を説明します。 ユーザライブラリは、グローバルなフレームワークのリソースからローカルなリソースを区別しておくため application/libraries ディレクトリに作成します。 追加の特典として、CodeIgniter では、既存のライブラリに単に、機能を追加するのであれば、ネイティブなクラスを 継承(extend) してユーザライブラリを作成できます。 application/libraries フォルダに同じ名前で設置しさえすれば、ネイティブなクラスを独自のものと置き換えることもできます。 まとめると: まったく新しいライブラリを作成することができます。 ネイテ
【重要】EllisLabが現行の「CodeIgniterライセンス」はGPLと互換性がないという見解を公表しました 2011-11-04 11:07:04 お知らせ posted by Kenji CodeIgniterは、現在、「CodeIgniter License」でライセンスされています。 CodeIgniter Licenseの原文および参考訳: http://codeigniter.jp/user_guide_ja/license.html このライセンスについて、公式マニュアルでは、 「CodeIgniter is licensed under an Apache/BSD-style open source license so you can use it however you please.」(CodeIgniter は Apache/BSD スタイルのオープンソースラ
【重要】CodeIgniterのライセンスが変更されようとしています 2011-11-01 13:10:21 お知らせ posted by Kenji CodeIgniterのライセンスが、従来のBSDライクなCodeIgniterライセンスから、コピーレフトなライセンスであるOpen Software License 3.0に変更されようとしています。 これは非常に大きな変更ですが、まだ、十分に知られておらず、また、その与える正確な影響も計り知れません。 なお、この件は多分に法律的な問題ですので、最終的な判断はご自身で検討の上、場合により弁護士に相談し、ご判断ください。 この件の概要については、以下のブログを参照願います。 http://d.hatena.ne.jp/Kenji_s/20111029/1319874742 他のメジャーなフレームワークと同様な、GPLと互換性のあるコピー
CodeIgniter の抽象データベースでは、トランザクションセーフなテーブルタイプ [ 訳注: テーブルの管理方式がトランザクションをサポートするものという意味 ] をサポートしているデータベースで トランザクション を利用することができます。 MySQL では、より一般的な MyISAM ではなく InnoDB か BDB のテーブルタイプで実行されている必要があります。他のほとんどのデータベースでは、トランザクションはネイティブにサポートされています。 トランザクションについてあまり知らない場合は、 利用中のデータベースのトランザクションについて学習するために、 良いオンラインリソースを探すことをおすすめします。 CodeIgniter のトランザクションに対するアプローチ CodeIgniter のトランザクションに対するアプローチでは、ポピュラーなデータベースクラスである AD
PHPカンファレンス2011「フレームワークアップデート」 2011-09-11 08:25:48 お知らせ posted by Kenji 昨日、東京にてPHPカンファレンスがありました。 http://phpcon.php.gr.jp/2011/#timetable そこでのセッション「フレームワークアップデート」にて「CodeIgniter最新情報2011」のタイトルにて発表を行いました。 ご来場いただいたみなさんに心より感謝いたします。 セッションのプレゼン資料は以下にてご覧になれます。
ローダは、その名のとおり要素をロードするために使用されます。 要素とは、ライブラリ (クラス) ビューファイル、ヘルパ、モデル、あるいは、ユーザファイルになります。 Note:このクラスは、システムで自動的に初期化されるので、手動で初期化する必要はありません。 このクラスでは下記のメソッドが利用できます: $this->load->library('class_name', $config, 'object name') このメソッドはコアのクラスを読み込むために使われます。ここでの class_name は読み込みたいクラスの名前になります。 Note: "クラス" と "ライブラリ"は同じ意味として使っています。 たとえば、CodeIgniterでメールを送信したいとしたら、最初のステップは、次のようにemailクラスをコントローラで読み込むことです: $this->load->lib
出力クラスはリクエストを発信したブラウザに処理済みの web ページを送信するという一つの主要機能をもった小さなクラスです。また、このクラスは、 キャッシュ機能を利用する場合にページをキャッシュする責任も持っています。 Note:このクラスは、システムで自動的に初期化されるので、手動で初期化する必要はありません。 出力クラスは、ユーザの介入なしに隠れて動作するので、通常の環境では、出力クラスを意識することはありません。 たとえばビューファイルを読み込むためにローダ(読み込み処理)クラスを使用した場合、 ビューファイルは出力クラスに自動的に渡され、CodeIgniter のシステムによって実行の最後で呼ばれます。 しかし、必要があれば、次のいずれかのメソッドを使って、手動で出力に介入することもできます: $this->output->set_output(); 最終出力の文字列を手動でセット
2月のカンファレンスで会いましたメンバーが中心に 東京地区でCodeIgniter東京勉強会を予定しています。 <名称> CodeIgniter東京勉強会 <場所> Biz新宿 研修室A http://www.city.shinjuku.lg.jp/jigyo/file04_03_00011.html <日程> 2011年5月14日土曜日 13:00〜17:00 <費用> ひとりあたり数百円程度 <参加方法> 近日中に追ってアナウンスします。 東京近郊で興味がある方はぜひご参加くださいませ。
CodeIgniter とは、アメリカの EllisLab によって開発された PHP のフレームワークです。 4大フレームワークの1つに数えられることもある大変人気のあるフレームワークの1つです。
Form ヘルパのファイルには、HTML フォームを使って作業するのを支援する関数が含まれています。 ヘルパのロード このヘルパは次のコードを使ってロードします: $this->load->helper('form'); 次の関数が利用できます: form_open() 設定ファイルにもとづいて構築したベースURLを設定してFormの開始タグを作成します。オプションで、 Formタグの属性と隠しフィールドを追加できます。 HTMLをハードコーディングせずにこのコードを使う主なメリットは、URLが変更になった時に、 移植性が高まることです。 シンプルな例です: echo form_open('email/send'); 上の例では、次のように、ベースのURLに "email/send" URI セグメントを追加したところを参照するFormタグを生成します: <form method="pos
CodeIgniter のページネーションクラスは、簡単に利用でき、動的にあるいは保存した設定情報にもとづいて、100% カスタマイズ可能です。 "ページネーション" という言葉をあまり聞いたことがないでしょうか。次のようなページ間のナビゲーションを可能にするリンクのことを指します: « 最初 < 1 2 3 4 5 > 最後 » 例 次は、コントローラ のメソッド内で、ページネーションを作成する方法を示した簡単なサンプルです: $this->load->library('pagination'); $config['base_url'] = 'http://example.com/index.php/test/page/'; $config['total_rows'] = '200'; $config['per_page'] = '20'; $this->pagination-
CodeIgniter は Active Record データベースパターンの改変版を採用しています。このパターンを利用すると、情報の取得・挿入、そして更新が最小限のスクリプティングで可能になります。データベース処理をするのに、たった1、2行しか必要でない場合さえあります。CodeIgniter ではデータベースごとに専用のクラスを必要としたりはしません。そのおかげで、より単純化されたインターフェースが提供されています。 Active Record 機能を使う大きな利点は、単に単純であるからだけでなく、Active Record 機能を使えば、クエリの構文は各種のデータベースアダプタが生成してくれるので、データベースから独立したアプリケーションを作成できるということです。また、システムにより自動的に値のエスケープ処理が行われるので、より安全なクエリが利用可能になります。 Note: クエリ
ユニットテストは、アプリケーションの各メソッド用のテストを書くというソフトウェア開発のアプローチです。このコンセプトにあまり慣れていないのであれば、このことについて少しwebで検索してみてください。 CodeIgniterのユニットテストクラスは、評価メソッドと2つの結果メソッドからなる非常にシンプルなものです。本格的なテストスイートを意図して作られたものではなく、コードを評価してコードが正しいデータ型と結果を生成するかを調べるシンプルなメカニズムになっています。 クラスの初期化 CodeIgniterの大部分のクラスと同様、ユニットテストクラスはコントローラの中で$this->load->library メソッドを使って初期化します: $this->load->library('unit_test'); いったん読み込まれると、ユニットテストオブジェクトは、次のようにして利用可能です:
index.phpがフロントコントローラとして振る舞い、CodeIgniterの実行に必要な基本リソースを初期化します。 ルータは、何を実行すべきかを決定するため、HTTPリクエストを解析します。 キャッシュが存在する場合、通常のシステム処理がバイパスされ、キャッシュが直接ブラウザに送信されます。 セキュリティです。アプリケーションコントローラが読み込まれる前に、HTTPリクエストとユーザが送信したデータは、セキュリティのためにフィルタリングされます。 コントローラがモデル、コア・ライブラリ、プラグイン、ヘルパ、それからHTTPリクエスト処理に必要なすべてのリソースをロードします。 最終処理されたビューがレンダリングされ、閲覧できるようにするためにwebブラウザに送信されます。もしキャッシュ機能が有効になっていれば、後のリクエストでキャッシュが送信されるように、送信前にまずビューがキャッシ
CodeIgniterとは、アメリカのEllisLabによって開発されたPHPのフレームワークです。4大フレームワークの1つに数えられることもある大変人気のあるフレームワークの1つです。 主な特徴は以下です: 「低い学習コストと圧倒的な速さ」 設計とアーキテクチャーのゴール 難しくて大量のマニュアルに嫌気がさしていませんか? 重くて遅いフレームワークに嫌気がさしていませんか? 我々は上記のゴールを達成するため、ベンチマークを行い、リファクタリングし、開発プロセスを単純化し、この目標にそぐわないあらゆるものを捨て去りました。 © 2010 CodeIgniter Users Group in Japan. CodeIgniter and its logo are property of EllisLab Inc. The Dark Laptop theme by Geek With La
CodeIgniterの画像操作クラスを使うと、次のことが行えます: 画像のリサイズ サムネイルの作成 画像の切り抜き 画像の回転 画像の合成 次の3つのよく使われている画像ライブラリすべてに対応しています: GD/GD2、NetPBM、および ImageMagick Note: 画像の合成は、GD/GD2 ライブラリを使用した場合のみ利用可能です。加えて、他のライブラリを指定した場合でも、画像のプロパティを取得するためにはGDが必要になります。しかし、画像の処理に関しては、指定したライブラリだけで可能です。 クラスの初期化 CodeIgniterのほとんどのクラスと同様に、 画像クラスは $this->load->library メソッドを使ってコントローラの中で初期化します: $this->load->library('image_lib'); ライブラリが読み込まれると、使う準備が
プロファイラクラスを使うと、ベンチマーク結果、実行したクエリ、$_POST データをページの一番下に表示させることができます。この情報は、開発中にデバッグや最適化を支援するものとして役立つものです。 クラスを初期化する Important: このクラスは初期化する必要がありません。下記に示すようにプロファイリングが有効になっている場合は、出力クラスで自動的にロードされます。 プロファイラを有効化する コントローラ のメソッド内のいずれかの場所で次のメソッドを含むコードを記述すれば、プロファイラが有効になります: $this->output->enable_profiler(TRUE); 有効化されると、レポートが生成され、ページの一番下に差し込まれます。 プロファイラを無効にするには、次の文を使います: $this->output->enable_profiler(FALSE); ベンチ
CodeIgniter の テンプレートエンジンを利用したくない場合は、ビューファイルで純粋なPHPを利用することができます。PHPのコードを最低限にし、コードブロックを簡単に識別できるようにするため、制御構文用の代替のPHP構文とショートタグを使った出力を利用することをおすすめします。この構文をあまり使ったことがないでしょうか?これを使えば、コードから余計な括弧や余計な"echo"文をなくすことができます。 自動でのショートタグサポート Note: もし、このページで説明している構文がサーバで利用できないようでしたら "ショートタグ" がphp.iniファイルで無効になっているかもしれません。 CodeIgniter では、オプションで、その都度ショートタグ機能の設定を上書きして、サーバでサポートされていない場合でも、その構文を利用できるようにすることができます。この機能は、config
CodeIgniter には、フル機能の非常に高速な抽象データベースクラスが備わっており、一般によく使われている構造とActive Record パターンの両方に対応しています。データベース機能は明快で単純な構文を提供します。 Quick Start: 使用例 データベース設定 データベースへの接続 クエリの実行 クエリ結果の生成 クエリヘルパメソッド Active Record クラス トランザクション テーブルのメタデータ フィールドのメタデータ PHPネイティブ関数の呼び出し クエリのキャッシュ データベースフォージによるデータベースの操作 データベースユーティリティクラス
CodeIgniterは、最小限のコードで総合的なフォームバリデーションとデータの準備をするクラスを提供します。 注記: CodeIgniter 1.7.0では、このフォームバリデーションクラスが古いバリデーションクラスに置き換わり、古いバリデーションクラスは非推奨となります。 古いクラスがライブラリに残っていても、現在使用中のアプリケーションが動作しなくなってしまう事はありませんが、この新しいバージョンに移行することが奨励されます。 概要 フォーム・バリデーション(検証)チュートリアル 入力フォーム 成功ページ コントローラ 検証ルールを設定する 配列を使って検証ルールを設定する ルールの連結(カスケード) データの整形 フォームの再表示 コールバック エラーメッセージを設定する エラーメッセージを囲む文字の変更 フィールド名の変換 個別にエラーを表示する 検証ルールを設定ファイルに保
一般的なスタイルとシンタックス 以下のページではCodeIgniterを開発する際に守っているコーディングルールについて記述します。 目次 ファイルフォーマット PHPの囲みタグ クラス名、メソッド名 変数名 コメント 定数 TRUE、FALSE、NULL 論理演算子 返り値の比較、型のキャスト デバッグコード タブ/スペース 互換性 クラス名とファイル名を共通にする データベーステーブル名 1ファイル1クラス タブ/スペース 改行コード インデント カッコの前後のスペース コントロールパネル内のローカライズされたテキスト プライベートメソッド、プライベート変数 PHPエラー PHP短縮開始タグ 1行1ステートメント 文字列 SQL文 メソッド(関数)の引数のデフォルト値 タグパラメーターの上書き ファイルフォーマット ファイルはUnicode (UTF-8) エンコーディングで保存します
セッションクラスを使うと、サイトを閲覧中のユーザの"状態"を維持でき、ユーザのアクションを追跡できます。 セッションクラスは、各ユーザのセッションの情報をシリアライズして(オプションで暗号化して)クッキーに保管します。 また、セキュリティを高めるため、ユーザのクッキー内のセッションIDと保管されたセッションIDを照合するようにして、 セッションデータをデータベースのテーブルに保存することもできます。デフォルトでは、クッキーだけが保存されます。 データベースのオプションを利用する場合は、後述するように、セッションテーブルを作成する必要があります。 Note: セッションクラスは、PHPに組み込みのセッションを利用しません。 このクラスは、独自のセッションデータを生成し、開発者にさらになる柔軟性を提供します。 セッションの初期化 セッションは通常、各ページの読込みに対してグローバルに動作します
CodeIgniter の XML-RPC クラスを使うと、他のサーバにリクエストを送信したり、リクエストを受信するためにXML-RPCサーバをセットアップしたりできます。 XML-RPCとは? インターネット上の2つのコンピュータが対話する方法で非常にシンプルなのは、XMLを使うものです。クライアントと呼ばれる一方のコンピュータは、XML-RPC リクエストをサーバと呼ばれるもう一方のコンピュータに送信します。サーバがリクエストを受信し、処理すると、クライアントにレスポンスを返します。 たとえば、MetaWeblog APIを使う場合、XML-RPC クライアント (大抵は、デスクトップの投稿ツール) は、サイトで実行されているXML-RPC サーバにリクエストを送ります。記事を公開するために、新しいブログの記事を作成するリクエストであったり、既存の生地を編集するためのリクエストであった
次のページ
このページを最初にブックマークしてみませんか?
『日本CodeIgniterユーザ会』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く