├── .gitignore ├── CREDITS.md ├── README.md ├── assets ├── css │ └── combined.css ├── fonts │ ├── BebasNeue-webfont.eot │ ├── BebasNeue-webfont.svg │ ├── BebasNeue-webfont.ttf │ ├── BebasNeue-webfont.woff │ ├── DroidSans-Bold-webfont.eot │ ├── DroidSans-Bold-webfont.svg │ ├── DroidSans-Bold-webfont.ttf │ └── DroidSans-Bold-webfont.woff ├── img │ ├── clear.gif │ ├── fuel.png │ ├── h-split.png │ ├── handle.png │ ├── header-bg.jpg │ ├── nestedset.gif │ ├── nestedset2.gif │ ├── point.png │ ├── profiler.png │ └── v-split.png └── js │ └── combined.js ├── classes ├── agent │ ├── config.html │ └── usage.html ├── arr.html ├── asset │ ├── advanced.html │ ├── config.html │ └── usage.html ├── autoloader.html ├── cache │ ├── advanced.html │ ├── config.html │ └── usage.html ├── cli.html ├── config.html ├── cookie.html ├── crypt │ ├── advanced.html │ ├── config.html │ └── usage.html ├── database │ ├── db.html │ ├── dbutil.html │ ├── introduction.html │ ├── qb.html │ ├── qb_builder.html │ ├── qb_delete.html │ ├── qb_insert.html │ ├── qb_select.html │ ├── qb_update.html │ ├── qb_where.html │ └── usage.html ├── date.html ├── debug.html ├── event.html ├── fieldset │ ├── field.html │ └── fieldset.html ├── file │ ├── advanced.html │ ├── handlers.html │ ├── intro.html │ └── usage.html ├── finder.html ├── form.html ├── format.html ├── ftp.html ├── fuel.html ├── html.html ├── image.html ├── inflector.html ├── input.html ├── lang.html ├── log.html ├── markdown.html ├── migrate.html ├── model_crud │ ├── introduction.html │ └── methods.html ├── module.html ├── mongo │ ├── introduction.html │ └── methods.html ├── num.html ├── package.html ├── pagination.html ├── presenter.html ├── profiler.html ├── redis.html ├── request │ ├── curl.html │ ├── request.html │ └── soap.html ├── response.html ├── router.html ├── security.html ├── session │ ├── advanced.html │ ├── config.html │ └── usage.html ├── str.html ├── theme │ ├── advanced.html │ ├── introduction.html │ └── methods.html ├── upload │ ├── config.html │ └── usage.html ├── uri.html ├── validation │ ├── errors.html │ ├── methods.html │ └── validation.html └── view.html ├── composer.json ├── contribute.html ├── credits.html ├── favicon.ico ├── favicon.png ├── general ├── classes.html ├── coding_standards.html ├── configuration.html ├── constants.html ├── controllers │ ├── base.html │ ├── hybrid.html │ ├── rest.html │ └── template.html ├── environments.html ├── error.html ├── extending_core.html ├── hmvc.html ├── migrations.html ├── models.html ├── modules.html ├── mvc.html ├── namespacing.html ├── packages.html ├── presenters.html ├── profiling.html ├── routing.html ├── security.html ├── tasks.html ├── unit_testing.html ├── viewmodels.html └── views.html ├── index.html ├── installation ├── download.html ├── external.html ├── instructions.html ├── troubleshooting.html └── upgrade.html ├── license.html ├── packages ├── auth │ ├── drivers.html │ ├── examples │ │ ├── auth.html │ │ └── opauth.html │ ├── intro.html │ ├── opauth │ │ ├── intro.html │ │ └── usage.html │ ├── ormauth │ │ ├── intro.html │ │ └── usage.html │ ├── simpleauth │ │ ├── intro.html │ │ └── usage.html │ └── types │ │ ├── acl.html │ │ ├── group.html │ │ └── login.html ├── email │ ├── introduction.html │ ├── methods.html │ ├── troubleshooting.html │ └── usage.html ├── oil │ ├── console.html │ ├── generate.html │ ├── intro.html │ ├── package.html │ ├── refine.html │ ├── server.html │ └── test.html ├── orm │ ├── creating_models.html │ ├── crud.html │ ├── eav.html │ ├── intro.html │ ├── model │ │ ├── nestedset.html │ │ ├── soft.html │ │ └── temporal.html │ ├── observers │ │ ├── creating.html │ │ ├── included.html │ │ └── intro.html │ └── relations │ │ ├── belongs_to.html │ │ ├── has_many.html │ │ ├── has_one.html │ │ ├── intro.html │ │ └── many_many.html └── parser │ └── intro.html ├── requirements.html ├── templates └── index.html ├── toc.html └── vendor ├── htmlawed.html ├── intro.html ├── markdown.html ├── phpquickprofiler.html ├── phpseclib.html └── spyc.html /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | nbproject 3 | *.tmproj 4 | *.swp~ 5 | 6 | #intellij 7 | .idea 8 | /change.php 9 | -------------------------------------------------------------------------------- /CREDITS.md: -------------------------------------------------------------------------------- 1 | # FuelPHP Documentation 日本語翻訳 2 | 3 | この FuelPHP Documentation 日本語翻訳は [MIT ライセンス](http://opensource.org/licenses/MIT) でリリースされています。 4 | 5 | ## Version 1.8 6 | 7 | * sharkpp 8 | * Fumito Mizuno 9 | * Kenji Suzuki 10 | * Yoshiyuki Ieyama 11 | * toru81 12 | * Naoki Morita 13 | * sj-i 14 | * Kazuma Watanabe 15 | 16 | ## Version 1.7 17 | 18 | * sharkpp 19 | * Fumito Mizuno 20 | * Kenji Suzuki 21 | * Shintaro Inagaki 22 | * pandamachine715 23 | 24 | ## Version 1.6 25 | 26 | * Kenji Suzuki 27 | * Tatsuya Ueda 28 | * Hitoshi Asano 29 | * sharkpp 30 | * Fumito Mizuno 31 | * Yuuki Arita 32 | * Taichi Inaba 33 | * Soichiro Miki 34 | * Naoki Sekiguchi 35 | 36 | ## Version 1.5 37 | 38 | * Kenji Suzuki 39 | * Hitoshi Asano 40 | * Yoshiaki Sato 41 | * Fumito Mizuno 42 | * Shiro Matsuo 43 | * Tetsuji Koyama 44 | * Mamoru Otsuka 45 | * Makoto Taniguchi 46 | * Mizuki Yamanaka 47 | * Taiji Inoue 48 | * Sohei Iwahori 49 | * Toru Tamura 50 | * pandamachine715 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FuelPHP 公式ドキュメントの日本語化 2 | 3 | ここでは、FuelPHP の公式ドキュメント (FuelPHP Documentaion) を日本語化しています。 4 | 5 | 翻訳作業の参加者を広く募集しています。お気軽に Pull Request してください。 6 | 7 | 翻訳は、[FuelPHP Documentation 日本語版執筆基準](https://github.com/NEKOGET/FuelPHP_docs_jp/wiki/FuelPHP-Documentation-%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88%E5%9F%B7%E7%AD%86%E5%9F%BA%E6%BA%96) に準拠するようにお願いします。 8 | 9 | Pull Request がマージされたら、[CREDITS.md](https://github.com/NEKOGET/FuelPHP_docs_jp/blob/1.8/develop_japanese/CREDITS.md) にご自分の名前を追加してください。 10 | 11 | 現在、以下のブランチがありますが、**1.8/develop** の翻訳を進めています。 12 | 13 | - 1.8/develop_japanese ブランチ (本家 1.8/develop ブランチに対応) 14 | - 1.7/develop_japanese ブランチ (本家 1.7/develop ブランチに対応) 15 | - 1.6/develop_japanese ブランチ (本家 1.6/develop ブランチに対応) 16 | - 1.5/develop_japanese ブランチ (本家 1.5/develop ブランチに対応) 17 | - 1.4/develop_japanese ブランチ (本家 1.4/develop ブランチに対応) 18 | - 1.3/develop_japanese ブランチ (本家 1.3/develop ブランチに対応) 19 | 20 | 翻訳状況は、以下の Google Docs で管理されています。 21 | 22 | - [1.8 翻訳状況](https://docs.google.com/spreadsheet/ccc?key=0ArwGmfmveOhNdE9fU1BlNTNpNVVnaWJEaUVPbzgwQ0E#gid=6) 23 | - [1.7 翻訳状況](https://docs.google.com/spreadsheet/ccc?key=0ArwGmfmveOhNdE9fU1BlNTNpNVVnaWJEaUVPbzgwQ0E#gid=5) 24 | - [1.6 翻訳状況](https://docs.google.com/spreadsheet/ccc?key=0ArwGmfmveOhNdE9fU1BlNTNpNVVnaWJEaUVPbzgwQ0E#gid=3) 25 | - [1.5 翻訳状況](https://docs.google.com/spreadsheet/ccc?key=0ArwGmfmveOhNdE9fU1BlNTNpNVVnaWJEaUVPbzgwQ0E#gid=2) 26 | - [1.3 翻訳状況](https://docs.google.com/spreadsheet/ccc?key=0Aj_-DesHiguSdG1BTTNYTEdfR2IyU3NNdlFSZFJMYmc#gid=0) 27 | 28 | 日本語化途中のドキュメントは、以下から閲覧できます。 29 | 30 | バージョン | URL 31 | ---------|------------------------------------------ 32 | 1.8-dev | http://fuelphp.jp/docs/1.8/ 33 | 1.7-dev | http://fuelphp.jp/docs/1.7/ 34 | 1.6-dev | http://fuelphp.jp/docs/1.6/ 35 | 1.5-dev | http://fuelphp.jp/docs/1.5/ 36 | 1.4-dev | http://fuelphp.jp/docs/1.4/ 37 | 1.3-dev | http://press.nekoget.com/fuelphp_doc/ 38 | 1.2-dev | http://press.nekoget.com/fuelphp_doc_1.2/ 39 | 40 | ## コミュニケーション 41 | 42 | 翻訳に関するコミュニケーションは、以下の Google グループにて行います。 43 | 44 | - https://groups.google.com/group/fuelphp_jp?hl=ja 45 | 46 | 翻訳作業に参加される方は、ご参加ください。 47 | 48 | ## 参考 49 | 50 | - FuelPHP ドキュメント翻訳のためのツール https://github.com/kenjis/fuel-docs-tools/blob/master/README.ja.md 51 | - FuelPHP ドキュメント翻訳のための git メモ http://www.sharkpp.net/blog/2015/11/03/git-memo-for-fuel-docs-trans.html 52 | - FuelPHP ドキュメント日本語翻訳のおおまかな流れ http://code.ttsoft.jp/2013/12/fuelphp-docs-japanese.html 53 | - FuelPHP の日本語ドキュメントを 5分で修正する http://d.hatena.ne.jp/Kenji_s/20130117/edit_fuel_docs 54 | - FuelPHP ドキュメント翻訳へのお誘い http://pneskin2.nekoget.com/press/?p=1044 55 | - FuelPHP のドキュメント和訳に参加しよう! http://www.slideshare.net/akagisho/lets-translate-fuelphp-docs 56 | - github でドキュメント日本語化 http://ounziw.com/2011/12/01/github-localize/ 57 | -------------------------------------------------------------------------------- /assets/fonts/BebasNeue-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/fonts/BebasNeue-webfont.eot -------------------------------------------------------------------------------- /assets/fonts/BebasNeue-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/fonts/BebasNeue-webfont.ttf -------------------------------------------------------------------------------- /assets/fonts/BebasNeue-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/fonts/BebasNeue-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/DroidSans-Bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/fonts/DroidSans-Bold-webfont.eot -------------------------------------------------------------------------------- /assets/fonts/DroidSans-Bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/fonts/DroidSans-Bold-webfont.ttf -------------------------------------------------------------------------------- /assets/fonts/DroidSans-Bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/fonts/DroidSans-Bold-webfont.woff -------------------------------------------------------------------------------- /assets/img/clear.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/clear.gif -------------------------------------------------------------------------------- /assets/img/fuel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/fuel.png -------------------------------------------------------------------------------- /assets/img/h-split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/h-split.png -------------------------------------------------------------------------------- /assets/img/handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/handle.png -------------------------------------------------------------------------------- /assets/img/header-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/header-bg.jpg -------------------------------------------------------------------------------- /assets/img/nestedset.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/nestedset.gif -------------------------------------------------------------------------------- /assets/img/nestedset2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/nestedset2.gif -------------------------------------------------------------------------------- /assets/img/point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/point.png -------------------------------------------------------------------------------- /assets/img/profiler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/profiler.png -------------------------------------------------------------------------------- /assets/img/v-split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/assets/img/v-split.png -------------------------------------------------------------------------------- /classes/cache/advanced.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Cache 高度な使い方 - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Cache クラス

49 | 50 |

Cache クラスを使用すると、リソースの重い操作の結果をキャッシュすることができます。

51 | 52 |
53 |

高度な使用法

54 | 55 |

オブジェクトのインスタンスとしてキャッシュを使用することができます。

56 |

$options = array(...); // これらはキャッシュの設定ファイルと同様。
57 | 
58 | $cache = Cache::forge('my_cache', $options)
59 |

データは set() 関数を使ってキャッシュの保存を行うことができます。

60 |
$cache->set($myData, 604800);
61 |

これは 1 つのブロックに有効期限一週間 (604800 秒 ) のデータを設定します。もし、 2 番目のパラメータが null に設定されている場合、キャッシュは無期限で保存されます。

62 |

データは、静的に Cache クラスを使用する場合と同じ様に取得することができます。

63 |
64 | 65 |
66 | 67 | 73 |
74 | 75 | 76 | -------------------------------------------------------------------------------- /classes/cache/config.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Cache 設定 - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Cache クラス

49 | 50 |

Cache クラスを使用すると、リソースの重い操作の結果をキャッシュすることができます。

51 | 52 |
53 |

設定

54 | 55 |

Cache クラスは初期状態では fuel/core/config/cache.php の設定ファイルを使用して構成されており、 56 | これは標準の設定が記述されています。アプリケーションの config ディレクトリに同じ名前の設定ファイルを 57 | 追加してこの設定の上書きを行い、これらの値を変更することができます。これらの core の設定は上書きを行わないで 58 | そのまま使うこともできます。

59 | 60 |

以下のようなグローバルな設定値を定義することができます:

61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 76 | 77 | 78 | 79 | 80 | 81 | 85 | 86 | 87 | 88 | 89 | 90 | 99 | 100 | 101 |
パラメータデフォルト説明
driverstring
'file'
74 | キャッシュの保存につかわれる標準のストレージドライバ。 75 |
expirationint
null
82 | 有効期限が与えられなかった時に使用される標準の有効期限。 null に設定されている場合には 83 | 有効期限はなし。 84 |
(type)_handlerstring
serialize
91 | オブジェクトのようなより複雑なもの、または混合ミックスのようなよりプリミティブなものを 92 | キャッシュする場合でない限り、文字列でキャッシュして問題ない。これらの場合には、オブジェクト 93 | を正しく返し取得する方法として "content handlers" を含むと良い。これは標準で、 94 | PHP シリアライズと JSON エンコーディングを使用することができる。
95 | あなたは独自のハンドラや用意されたそれぞれのハンドラを追加することによって、オブジェクトやプリミティブな 96 | タイプをそれぞれ異なる方法で扱うことができる。例: 'int_handler' => 'json' 、 'string_handler' => 'string' 、 97 | 'Model_Post' => 'serialize' など ... 98 |
102 | 103 |

キャッシュストレージドライバごと、別々に構成セクションがあります。 104 | ドライバ固有のパラメータについては以下の通りです。

105 | 106 |
107 |
ファイルドライバ設定
108 | 109 |

ファイルシステムにキャッシュを保存します。

110 | 111 |

ドライバ固有の設定:

112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
パラメータデフォルト説明
pathstring
APPPATH.'cache/'
キャッシュを保存する基本パス。
128 |
129 | 130 |
131 |
MemCached ドライバ設定
132 | 133 |

ドライバ固有の設定:

134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 154 | 155 | 156 | 157 |
パラメータデフォルト説明
cache_idstring
'fuel'
同じサーバー ( 群 ) に保存される他の fuel キャッシュと区別する為の一意の ID 。
serversstring
array(
152 | 		array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100)
153 | 	)
memcached サービスを実行するサーバー群とポート番号
158 |
159 | 160 |
161 |
Redis ドライバ設定
162 | 163 |

ドライバ固有の設定:

164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 |
パラメータデフォルト説明
databasestring
'default'
使用する redis のデータベース名 (config/db.php で定義されているように )
180 |
181 | 182 |
183 | 184 |
185 | 186 | 192 |
193 | 194 | 195 | -------------------------------------------------------------------------------- /classes/crypt/advanced.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Crypt 高度な使用法 - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Crypt クラス

49 | 50 |

51 | Crypt クラスにより文字列を暗号化や複号が可能になります。例えば、 Sessions クラスにおいても Crypt クラスが内部で使用されています。 52 |

53 |

PHPSecLib により提供される暗号化とハッシング関数が使われているため、 mcrypt のような外部モジュールに依存していません。

54 | 55 |
56 |

高度な使用法

57 | 58 |

59 | Crypt クラスは複数のインスタンスの利用をサポートしています。 60 | 複数の暗号化キーセットが必要な場合にこれが有用であることが分かるかもしれません。 61 |

62 |

63 | 静的なメソッドと同じメソッド名を、 Crypt のインスタンスに対しても使用することができます。 64 | それぞれのメソッドの定義についてはクラスの使用法ページを見て下さい。 65 |

66 | 67 |
68 |

forge($config = array())

69 |

70 | forge メソッドは、Crypt クラスのインスタンスを手動で生成します。 71 |

72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 123 | 124 | 125 |
静的はい
パラメータ 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 94 | 95 | 96 | 97 | 98 | 104 | 105 |
パラメータデフォルト説明
$name
null
91 | インスタンスの名前。もしその名前のインスタンスが存在しなければ、新たにフォージ(生成)されます。 92 | 名前が渡されなかったときは、デフォルトインスタンスが返されます。 93 |
$config
array()
99 | 新しく Crypt インスタンスを生成する際に、カスタム設定を渡すことができます。 100 | 設定を意味する配列は、crypt 設定ファイルと同様の構造を持っています。 101 | 渡された設定内容は、ここで解説されているデフォルトの設定と crypt 設定ファイルにマージされますので、 102 | 変更したい設定値だけを渡せばよいです。 103 |
106 |
返り値object - 生成された crypt オブジェクト。
115 |
// カスタムキー値でクリプトオブジェクトをインスタンス化
116 | $crypt = \Crypt::forge(array(
117 | 	'crypto_key' => 'kj$Huhliuh7p*UHHhdas6%#@',
118 | ));
119 | 
120 | // これでいくつかのデータを符号化
121 | $encoded = $crypt->encode('This is a very secure piece of data!');
122 |
126 |
127 | 128 |
129 |

instance($name = null)

130 |

131 | instance メソッドは、名前のついた Crypt クラスのインスタンスを返します。 132 |

133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 172 | 173 | 174 |
静的はい
パラメータ 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 155 | 156 |
パラメータデフォルト説明
$name
null
152 | インスタンスの名前を渡します。もしその名前のインスタンスがなかった場合は false が返されます。 153 | 名前が指定されなかったときはデフォルトのインスタンスが返されます 154 |
157 |
返り値mixed - その名前の Crypt インスタンス。存在しなければ false が返ります。
166 |
// カスタムキー値でクリプトオブジェクトをインスタンス化
167 | $crypt = \Crypt::instance('custom', array('crypto_key' => 'kj$Huhliuh7p*UHHhdas6%#@'));
168 | 
169 | // これでいくつかのデータを符号化
170 | $encoded = $crypt->encode('This is a very secure piece of data!');
171 |
175 |
176 | 177 |

178 | Crypt クラスの静的メソッドは、デフォルトインスタンスを使用します。 179 | 既定のインスタンスの設定を変更した場合はこのことを忘れないで下さい! 180 |

181 | 182 |
183 | 184 |
185 | 186 | 192 |
193 | 194 | 195 | -------------------------------------------------------------------------------- /classes/crypt/config.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Crypt 設定 - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Crypt クラス

49 | 50 |

51 | Crypt クラスにより文字列を暗号化や複号が可能になります。例えば、Sessions クラスにおいても Crypt クラスが内部で使用されています。 52 |

53 |

PHPSecLib により提供される暗号化とハッシング関数が使われているため、mcrypt のような外部モジュールに依存していません。

54 | 55 |
56 |

設定

57 | 58 |

59 | Crypt クラスの設定は app/config/crypt.php にて行います。これは、Crypt クラスを初めて利用するときか、必要な設定ファイルが無い場合に、乱数とともに生成・追加されます。 60 |

61 |

62 | app/config/crypt.php への書き込み権限が必要です! もし不可能な場合、全ての設定項目が設定されているかどうか確認してください! 63 |

64 |

以下の設定項目を定義できます:

65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 80 | 81 | 82 | 83 | 84 | 85 | 88 | 89 | 90 | 91 | 92 | 93 | 96 | 97 | 98 |
パラメータデフォルト説明
crypto_keystringn/a 78 | 暗号ルーチンで使われるランダムな暗号キー。ユニークでランダムな値を設定するようにしてください! 79 |
crypto_ivstringn/a 86 | 暗号ルーチンにおけるランダムな暗号の初期化ベクトル。ユニークでランダムな値を設定するようにしてください! 87 |
crypto_hmacstringn/a 94 | ハッシュに基づくメッセージ認証コード (HMAC) にて使われる乱数。ユニークでランダムな値を設定するようにしてください! 95 |
99 |

100 | もしキーを手入力で指定する場合、キーは base64 エンコードした文字列で、デコードするために長さは 4 の倍数でなければなりません。必ず正しい長さになるよう指定してください! 101 |

102 |
103 | 104 |
105 | 106 | 112 |
113 | 114 | 115 | -------------------------------------------------------------------------------- /classes/crypt/usage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Crypt 使用法 - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Crypt クラス

49 | 50 |

51 | Crypt クラスにより文字列を暗号化や複号が可能になります。例えば、 Sessions クラスにおいても Crypt クラスが内部で使用されています。 52 |

53 |

PHPSecLib により提供される暗号化とハッシング関数が使われているため、 mcrypt のような外部モジュールに依存していません。

54 | 55 |
56 |

使用法

57 | 58 |

59 | Crypt は 2 通りの方法で使用できます: Crypt クラスの静的な使用と、 60 | Crypt::forge() または Crypt::instance() メソッドが返す Crypt オブジェクトです。 このセクションでは、 61 | 設定で指定された構成を使用して、デフォルトのインスタンスで常に動作する静的な使用法をカバーしています。 62 |

63 | 64 |

65 | Crypt オブジェクトの使い方、 Crypt::instance() および Crypt::forge() は高度な使用法セクションで説明されています。 66 |

67 | 68 |
69 |

encode($value, $key = false)

70 |

encode メソッドは文字列を暗号化します。オプションとして暗号キーが設定できます。

71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 109 | 110 | 111 |
静的いいえ
パラメータ 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 |
パラメータデフォルト説明
$value必須エンコードする文字列。
$key
false
エンコードに使われる任意のキー。false の場合、設定値である 'crypto_key' が適用されます。
97 |
返り値string
106 |
// カスタムキーにより変数をエンコードする
107 | 		$value = Crypt::encode($value, 'R@nd0mK~Y');
108 |
112 |
113 | 114 |
115 |

decode($value, $key = false)

116 |

decode メソッドは文字列を複号します。オプションとして暗号キーが設定できます。

117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 155 | 156 | 157 |
静的いいえ
パラメータ 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 |
パラメータデフォルト説明
$value必須デコードされる文字列。
$key
false
デコードに使われる任意のキー。false の場合、設定値である 'crypto_key' が適用される。
143 |
返り値mixed - デコードされた文字列か、デコードできなかった場合は false を返します。
152 |
// カスタムキーにより変数をデコードする
153 | $value = Crypt::decode($value, 'R@nd0mK~Y');
154 |
158 |
159 | 160 |
161 |
162 | 163 | 169 |
170 | 171 | 172 | -------------------------------------------------------------------------------- /classes/database/qb.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Query Builder - クラス - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Query Building

48 | 49 |

50 | 注意: 51 | Query Builder クラスを書いた時点で、複数の SQL 方言を取り扱うことができるように調整されます。 52 |

53 |

54 | データベースへの問い合わせ のための SQL 生成の抽象化はQuery Builderによって行われます。 Query Builder 55 | は、1 セットのクラス群として構成され、各々のクラスは特定のクエリ生成プロセスを扱います。 56 |

57 |

58 | 大抵の場合、DB class が新しい Query Builderオブジェクトを生成するショートカットを提供するため、 59 | Query Builder を使うことに、気づかないでしょう。これらの方法を使うことは正しい Query Builder を取得するために推奨されます。 これは一般的な慣習で、 60 | あなたのコードを読みやすく維持してくれるでしょう。 61 |

62 | 63 |

64 | Query Builder はこれらのクラスから構成されます: 65 |

66 | 67 | 76 | 77 |
78 | 79 | 85 |
86 | 87 | 88 | -------------------------------------------------------------------------------- /classes/database/qb_delete.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Query Builder Delete - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Query_Builder_Delete クラス

49 | 50 |

51 | (Query_Builder_Where の拡張) 52 |

53 | 54 |

55 | The Query_Builder_Delete クラスは、クラスは、クエリ構築のためのすべてのデリート 操作を扱います。 56 | これは、 Query_Builder_Where クラスを拡張しており、すべてのメソッドが継承されます。 57 |

58 | 59 |
60 |

table($table)

61 |

table メソッドは、削除するテーブルをセット/変更します。

62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 103 | 104 | 105 |
静的いいえ
パラメータ 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
パラメータデフォルト説明
$tablestring必須テーブル名
85 |
返り値現在のインスタンスを返します。
94 |
// delete 文を準備
 95 | $query = DB::delete('users');
 96 | 
 97 | // 削除するテーブルをセットする
 98 | $query->table('admins');
 99 | 
100 | // DELETE `admins` ...
101 | 
102 |
106 |
107 | 108 |
109 |

compile(\Database_Connection$db)

110 |

compile メソッドは、デリートを行う SQL クエリを文字列で返却します。

111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 158 | 159 | 160 |
静的いいえ
パラメータ 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 |
パラメータデフォルト説明
$dbobject必須データベース接続
134 |
返り値SQL 文の文字列
143 |
// delete 文を準備
144 | $query = DB::delete('users');
145 | 
146 | // WHERE 句をセット
147 | $query->where('looks', 'like', '%spammer%');
148 | 
149 | // データベース接続を取得
150 | $connection = Database_Connection::instance();
151 | 
152 | // SQL 文を取得
153 | $sql = $query->compile($connection);
154 | 
155 | // DELETE FROM `users` WHERE `looks` LIKE "%spammer%"
156 | 
157 |
161 |
162 | 163 |
164 |

reset()

165 |

reset メソッドは、現在のインスタンスのすべての値をリセットします。

166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 206 | 207 | 208 |
静的いいえ
パラメータ 175 | なし 176 |
返り値現在のインスタンスを返します。
185 |
// delete 文を準備
186 | $query = DB:delete('users');
187 | 
188 | // WHERE 句をセット
189 | $query->where('it_look', 'ok to me');
190 | 
191 | // 上記をリセット
192 | $query->reset();
193 | 
194 | // 別の WHERE 句をセット
195 | $query->where('looks', 'like', '%bad mister%');
196 | 
197 | // データベース接続を取得
198 | $connection = Database_Connection::instance();
199 | 
200 | // SQL 文を取得
201 | $sql = $query->compile($connection);
202 | 
203 | // DELETE FROM `users` WHERE `looks` LIKE "%bad mister%"
204 | 
205 |
209 |
210 | 211 |
212 | 213 | 219 |
220 | 221 | 222 | -------------------------------------------------------------------------------- /classes/file/advanced.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | File 高度な使い方 - クラス - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

高度な使い方

48 | 49 |
50 |

はじめに

51 | 52 |

53 | ファイルクラスの基本的で静的な 使い方 に加えて、より複合的なオプションを使うことも出来ます。 54 | まず挙げるべきものとしては エリア があります。エリアとはパスの外部では動作しない基準になるパスのことです。 55 | エリアは、幾つかの設定オプションを持っています。エリアに対して File クラスのメソッドを用いると、 56 | ディレクトリとファイルをラップしたオブジェクトが返されます。 57 |

58 | 59 |
60 |

エリア

61 | 62 |

はじめに

63 |

64 | ファイルエリアは、ファイルシステムの動作に影響を与えたい時に使います。大元のところで制限設定を行うことで、 65 | 当該ファイル・ディレクトリがアクセス許可されていないのではないか? と思い悩むことなく、 66 | その制限範囲内で柔軟にファイルシステムを利用出来る境界線を策定することが出来るのです。 67 |

68 | 69 |

設定

70 |

71 | 初期設定では、ファイルエリアは全ディレクトリに対して無制限にアクセス出来るようになっています。 (デフォルトのエリアは、 File の設定ファイルで base_config として定義されています。) 72 | 2 種類のエリア設定方法があります。まず手近なものとしては、 73 | File::forge() メソッドに配列を渡す方法があります。 74 |

75 | 76 |
$config = array(
 77 | 	'basedir'		=> DOCROOT.'uploads',
 78 | 	'use_locks'		=> true,
 79 | );
 80 | 
 81 | $area = \File::forge($config);
82 | 83 |

84 | より集中的に設定したいなら、File 設定ファイルによって 1 つのエリア (あるいは複数のエリア) を設定します。 85 | 設定する時は、まず core/config/file.phpapp/config/file.php にコピーしてください (あるいは新しく作ってください)。 86 | その上で、同ファイル内の 'areas' 配列にエリアを設定します。こうすれば File::forge() メソッドに設定した文字列の識別子が与えられ、 87 | エリアが得ることが出来ます。 88 |

89 | 90 |
// app/config/file.php の中
 91 | 'areas' => array(
 92 | 	'my_area' => array(
 93 | 		'basedir'		=> DOCROOT.'uploads',
 94 | 		'use_locks'		=> true,
 95 | 	),
 96 | ),
 97 | 
 98 | // 新しいエリアを得る
 99 | 
100 | $area = \File::instance('my_area');
101 | 					
102 | 103 |

使い方

104 | 105 |

106 | ファイルクラスのエリアを使うには 2 つの方法があります。
107 | 1 つ目はスタティックなコンテキストの中でエリアを使い、 108 | 呼び出している関数に File_Area インスタンスあるいは識別子を与えることです。 109 |

110 | 111 |
// あるディレクトリの中身を読み込む
112 | try
113 | {
114 | 	$dir = File::read_dir('somedir', 0, null, 'my_area');
115 | }
116 | catch(\FileAccessException $e)
117 | {
118 | 	// 失敗したときの処理
119 | }
120 | 
121 | 122 |

2 つ目の方法としては、エリアから直接に関数を呼び出すことです。

123 | 124 |
// エリアを取得する
125 | $area = File::instance('my_area');
126 | 
127 | try
128 | {
129 | 	$dir = $area->read_dir('somedir', 0, null);
130 | }
131 | catch(\FileAccessException $e)
132 | {
133 | 	// 失敗したときの処理
134 | }
135 | 
136 | 137 |
138 | 139 | 146 |
147 | 148 |
149 | 150 | 156 |
157 | 158 | 159 | -------------------------------------------------------------------------------- /classes/file/intro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | File はじめに - クラス - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

File クラス

48 | 49 |
50 | 51 |

はじめに

52 | 53 |

54 | File クラスは、ファイルとディレクトリを取り扱う各種メソッド一式を提供します。 55 | 幾つかのヘルパーメソッド、また、すべてのファイルやディレクトリがオブジェクトにラップされた、より進んだオブジェクト指向のメソッドを通じて、 56 | その処理が行われます。 57 |

58 | 59 |
60 | 61 |
62 |

設定

63 | 64 |

65 | ファイルクラスでは詳細な設定が可能です。 66 | クラスの動作に対して必要なコントロールをすべて行えます。設定は、ファイルシステムへのアクセス制限からはじまり 67 | ファイルタイプドライバの設定に至ります。 68 |

69 | 70 |

71 | デフォルトの設定ファイルは core/config/file.php です。 72 | 設定を変更するには app/config/file.php を作って行ってください。 73 |

74 | 75 |

76 | 次の設定値が定義可能です: 77 |

78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 95 | 96 | 97 | 98 | 99 | 100 | 105 | 106 | 107 | 108 | 109 | 110 | 113 | 114 | 115 | 116 | 117 | 118 | 121 | 122 | 123 | 124 | 125 | 126 | 129 | 130 | 131 | 132 | 133 | 134 | 137 | 138 | 139 | 140 | 141 | 142 | 145 | 146 | 147 | 148 | 149 | 150 | 153 | 154 | 155 |
パラメータデフォルト説明
base_config.basedir文字列
null
92 | 基準ディレクトリパス。デフォルトは null で制限がありません。 93 | 設定がなされた場合、その設定ディレクトリのアクセスに制限されます。 94 |
base_config.extensions配列
null
101 | 許可する拡張子配列。 null の場合全て許可されます。 102 | 設定がなされた場合、ファイルクラスはその拡張子のみを取り扱い、 103 | それ以外は処理から除外します。 104 |
base_config.url文字列
null
111 | ファイルに対する Base url です。 null の場合、利用しない。 112 |
base_config.use_locksnull
null
119 | ファイルロックを用いるかどうか。利用したい時には、 true をセットしてください。 120 |
base_config.file_handlers配列
array
127 | 拡張したいファイルドライバの配列。ファイルタイプベースの独自ドライバを利用することが出来ます。 128 |
magic_file文字列
null
135 | fileinfo() で使われるマジックファイルの位置。もし指定されないならシステムのデフォルトが利用されます。 136 |
chmod.filesinteger
0666
143 | 新しく作成されたファイルに対するアクセス許可。 144 |
chmod.foldersinteger
0777
151 | 新しく作成されたディレクトリに対するアクセス許可。 152 |
156 | 157 |
158 | 159 |
160 | 161 | 167 |
168 | 169 | 170 | -------------------------------------------------------------------------------- /classes/markdown.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Markdown - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Markdown クラス

49 | 50 |

元は John Gruber 氏 によって作成されたテキストを HTML 形式に変換するものです。 FuelPHP は Michel Fortin 氏 によって PHP に移植、拡張されたものを使用します。

51 | 52 |
53 |

parse($text)

54 |

Markdown 形式を解析し HTML 形式で出力します。

55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 105 | 106 | 107 |
静的はい
パラメータ 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
パラメータデフォルト説明
$text必須解析したい Markdown 形式のテキスト
76 |
返り値string
85 |
$string = '# Markdown について
 86 | 
 87 | Markdown はテキストを HTML に変換する、ウェブのためのツールです。
 88 | Markdown を使えば、読みやすく書きやすいプレーンテキスト形式で書いて、
 89 | 構造化された妥当な HTML に変換することができます。
 90 | 
 91 | * 数字なしリストや
 92 | * 他にも便利な機能があります';
 93 | 
 94 | echo Markdown::parse($string);
95 |

出力結果

96 |
<h1>Markdown について</h1>
 97 | <p>Markdown はテキストを HTML に変換する、ウェブのためのツールです。
 98 | Markdown を使えば、読みやすく書きやすいプレーンテキスト形式で書いて、
 99 | 構造化された妥当な HTML に変換することができます。</p>
100 | <ul>
101 | <li>数字なしリストや</li>
102 | <li>他にも便利な機能があります</li>
103 | </ul>
104 |
108 |
109 | 110 |
111 | 112 | 118 |
119 | 120 | 121 | -------------------------------------------------------------------------------- /classes/mongo/introduction.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Mongo_Db はじめに - クラス - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Mongo_Db クラス

48 | 49 |

はじめに

50 |

51 | Mongo_Db クラスは、 52 | Mongo データベース とやり取りするメソッドを提供します。 53 |

54 |

55 | 通常の insert、select、delete や update といった機能に加え、 56 | データベース操作を助ける機能を提供します。 57 |

58 | 59 |

設定

60 | 61 |

62 | すべての Mongo データベースの接続設定は、app/config/db.php の中で mongo という配列に設定されている必要があります。 63 | 設定オプションと説明を下にリストアップしました。 64 | すべての設定には、ホスト名とデータベース名が必須となります。 65 |

66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 |
パラメータ必須説明
hostnamestringはいTCP のホスト名、または UNIX ソケットファイルパス
databasestringはいデータベース名
portnumberいいえ接続で使用するポート、または、 hostname が UNIX ソケットの場合は 0
replicasetstringいいえ接続に使用するレプリカセット名
usernamestringいいえ認証で使用するユーザ名 (パスワードがセットされない場合には無視されます)
passwordstringいいえ認証で使用するパスワード (パスワードがセットされない場合には無視されます)
113 | 114 |

設定の例:

115 | 116 |
// app/config/db.php の中
117 | 
118 | 		'mongo' => array(
119 | 			// このグループは、インスタンス名が省略された場合に使用されます。
120 | 			'default' => array(
121 | 				'hostname'   => 'localhost',
122 | 				'database'   => 'mongo_fuel',
123 | 			),
124 | 
125 | 
126 | 			// 自分のグループを下にリストアップします。
127 | 			'my_mongo_connection' => array(
128 | 				'hostname'   => 'localhost',
129 | 				'database'   => 'my_db',
130 | 				'replicaset' => 'replica',
131 | 				'username'   => 'user',
132 | 				'password'   => 'p@s$w0rD',
133 | 			),
134 | 
135 | 			// TCP のローカルホストの代わりに、 UNIX ソケット接続を使用した代替グループの例
136 | 			'my_mongo_sock' => array(
137 | 				'hostname'   => '/tmp/mongodb-27017.sock',
138 | 				'port'   => 0,
139 | 				'database'   => 'mongo_fuel',
140 | 			),
141 | 
142 | 		),
143 | 	
144 | 145 |

いったん設定が完了すれば、 MongoDB の利用を開始することができます。

146 | 147 |

148 | MongoDB を使用するには、それがあなたのサーバーで利用できるようになっていなければなりません。 149 | あなたのサーバーで MongoDB がサポートされているか確認するには、phpinfo() の Mongo セクションを参照するか、ホスティング会社に尋ねてください。 150 |

151 | 152 |
153 | 154 | 160 |
161 | 162 | 163 | -------------------------------------------------------------------------------- /classes/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Package - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Package クラス

49 | 50 |

Package クラスは、パッケージをロードする/アンロードする、パッケージがロードされているか調べる、全てのパッケージをロードする、を容易にします。

51 | 52 |
53 |

load($package, $path = null)

54 |

load メソッドは、実行時に1つまたは複数のパッケージをロードします。パッケージが見つからない場合は、PackageNotFoundException を投げます。

55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 103 | 104 | 105 |
静的はい
パラメータ 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
パラメータデフォルト説明
$package必須ロードするパッケージ名、またはパッケージとパッケージパスからなる配列。
$pathPKGPATHパッケージがインストールされているフォルダのパス。
81 |
返り値void
90 |
// orm パッケージをロードする
 91 | Package::load('orm');
 92 | 
 93 | // 指定したディレクトリから parser パッケージをロードする
 94 | Package::load('parser', '/path/to/packages/dir/');
 95 | 
 96 | // 単一のパッケージインストールから複数のパッケージをロードする
 97 | Package::load( array('First' => PKGPATH.'my'.DS.'first'.DS, 'Last' => PKGPATH.'my'.DS.'last'.DS) );
 98 | 
 99 | // 存在しないパッケージをロードする
100 | Package::load('awesome'); // PackageNotFoundException を投げる
101 | 
102 |
106 |
107 | 108 |
109 |

unload($package)

110 |

unload メソッドは、実行時にパッケージをアンロードします。

111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 145 | 146 | 147 |
静的はい
パラメータ 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 |
パラメータデフォルト説明
$package必須アンロードするパッケージ名。
132 |
返り値void
141 |
// orm パッケージをアンロードする
142 | Package::unload('orm');
143 | 
144 |
148 |
149 | 150 |
151 |

loaded($package = null)

152 |

loaded メソッドは、パッケージが現在ロードされているかどうかを調べます。パッケージ名を省略すると、現在ロードされているパッケージ全てを返します。

153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 197 | 198 | 199 |
静的はい
パラメータ 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 |
パラメータデフォルト説明
$packagenullロードされているか調べるパッケージ名。
174 |
返り値bool|array
183 |
// orm パッケージがロードされているか調べる
184 | $loaded = Package::loaded('orm');
185 | 
186 | // ロードされている全パッケージを取得する
187 | $loaded = Package::loaded();
188 | /*
189 | 以下のようなデータを返します:
190 | array(
191 |     'orm' => '/path/to/orm',
192 |     'parser' => '/path/to/parser',
193 | )
194 | */
195 | 
196 |
200 |
201 | 202 |
203 | 204 | 210 |
211 | 212 | 213 | -------------------------------------------------------------------------------- /classes/theme/advanced.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | Theme 高度な使い方 - クラス - FuelPHP ドキュメント 15 | 16 | 17 |
18 | 40 | 41 |
42 |
43 |
44 |
45 | 46 |
47 | 48 |

Theme クラス

49 | 50 |

51 | Theme クラスはアプリケーションにテーマを提供します。 52 |

53 | 54 |

アセットサポート

55 | 56 |

57 | 全てのテーマクラスのインスタンスは、テーマからアセットを簡単に読み込むことができるように、それ自身がアセットクラスのインスタンスを持っています。 58 | アセットのインスタンスはアクティブ用とフォールバック用のテーマのアセットのパスを集合させており、 59 | テンプレートやビューのように、あなたのアセットにも、他のテーマアセットのフォールバックの機能が提供されます。 60 |

61 | 62 |

例:

63 | 64 |
// デフォルトのテーマインスタンスを使ってアセットを読み込む
 65 | echo \Theme::instance()->asset->css('bootstrap.css');
66 | 67 |

高度な設定

68 | 69 |

70 | メソッドの active(), fallback(), 71 | get_info() そして load_info() 72 | は、デフォルトではインストールしたテーマの名前を文字列で渡すことができます。 73 | これらのメソッドは代わりにテーマ定義の配列を渡すことができ、これらのメソッドへ追加の設定情報を渡すことができます。 74 |

75 | 76 |

以下のテーマ変数が定義されます:

77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 |
パラメータデフォルト説明
namestring必須テーマの名前。これはパスのディレクトリ名に合わせる必要があります。
pathstring必須テーマのパス。これはテーマの名前を含むこと、かつディレクトリセパレータで終わっている必要があります。
asset_basestringオプション 103 | アプリケーションの DOCROOT から相対的なこのテーマのアセットへの基準パス。 104 | DOCROOT 外の場合はパスを完全修飾にする必要があります。 105 | これはディレクトリセパレータで終了する必要があります。 106 | 指定しない場合は、与えられたテーマのパス、設定された assets_folder 、および、設定された 107 | base_url から構築されます。 108 |
infoarrayオプションテーマの情報配列。未定義の場合は、テーマ情報ファイルから作成されます。
find_filebooleanオプションtrue にセットした場合、 Finder::search() メソッドがビューファイルとテーマ情報ファイルの場所を突き止めます。
124 | 125 |

例:

126 | 127 |
// 基本的な使い方: インスタンスを作り、アクティブなテーマとしてセットします
128 | $theme = \Theme::forge();
129 | $theme->active('darkglow');
130 | 
131 | // 高度な使い方
132 | \Config::load('theme', true, false, true);
133 | $config = \Config::get('theme', false);
134 | 
135 | // 設定値を上書きする
136 | $config['info_file_name'] = 'setupinfo.yaml';
137 | 
138 | // テーマインスタンスの生成
139 | $theme = \Theme::forge($config);
140 | 
141 | // アクティブなテーマとして設定
142 | $theme->active(
143 | 	array(
144 | 		'name' => 'darkglow',
145 | 		'path' => APPPATH.'themes'.DS.'darkglow'.DS,
146 | 		'asset_base' => '/themes/darkglow/assets/',
147 | 		'find_file' => true,
148 | 	)
149 | );
150 | 	
151 | 152 |
153 | 154 | 160 |
161 | 162 | 163 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fuel/docs", 3 | "description" : "FuelPHP 1.x Documenataion", 4 | "type": "fuel-package", 5 | "homepage": "https://github.com/fuel/docs", 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "FuelPHP Development Team", 10 | "email": "team@fuelphp.com" 11 | } 12 | ], 13 | "require": { 14 | "composer/installers": "~1.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /contribute.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 貢献 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

貢献

48 | 49 |

はじめに

50 | 51 |

52 | Fuel はコミュニティ駆動のフレームワークであり、 53 | フレームワークを改良したり機能を追加し、フレームワークをより高いレベルにしたいと考える誰からの貢献に対してもオープンです。 54 | それらを達成するには、チュートリアルを書くこと、パッケージをリリースすること、 55 | Fuel の公式な部分への貢献すること (Core、Orm、ドキュメント、など) のように複数の方法があります。 56 |

57 | 58 |

コードによる貢献

59 | 60 |

61 | バグに遭遇したり、issue リストにあなたが解決したものを見つけた場合、 62 | そしてあなたがフレームワークに貢献し返したいなら、GitHub を使い Pull Request を送ってください。 63 | あなたが使っているバージョンにより、Pull Request するブランチが異なります。 64 | Pull Request するときは、次のステップに従ってください: 65 |

66 | 67 |
    68 |
  • 69 | まだ、そのバージョンはサポートされていますか?
    70 | されていない場合は、サポートされているバージョンにアップグレードして、バグがまだ存在するかどうか確認してください。 71 |
  • 72 |
  • 73 | 最新バージョンでも、バグが再現されますか?
    74 | 最新の開発ブランチにアップデートして、バグがまだ再現されるかを確認してください。 75 |
  • 76 |
  • 77 | 最新の開発ブランチでもバグが存在する場合は、それをローカルにチェックアウトします
    78 | $ git checkout -b 1.9/develop origin/1.9/develop 79 |
  • 80 |
  • 81 | バグを修正しローカルリポジトリにコミットします
    82 | 説明的で分かりやすいコミットメッセージを記述し、確認しコミットします
    83 | $ git commit -m "This is my awesome description." 84 |
  • 85 |
  • 86 | あなたの GitHub のアカウントに push する
    87 | $ git push 88 |
  • 89 |
  • 90 | pull をリクエストする
    91 | Pull Request は、あなたがいるブランチ (最新の開発ブランチ) にしてください。 92 | "update commit range" インターフェイスを利用して、あなたの Pull Request を正しいブランチ宛にしてください。 93 | Pull Requestは現在のリリース開発ブランチ ((1.9/develop)のみ受け付けます。 94 |
  • 95 |
  • 96 | 名誉を待つ
    97 | Pull Request がマージされる際には、あなたの名前は、貢献者のリストの一部となるでしょう。 98 |
  • 99 |
100 | 101 |

Githubのwikiで上記手順の詳細を確認することができます。

102 | 103 |

バグでない貢献

104 | 105 |

106 | Non-bug contributions are new features, optimizations and all other alterations. All of these request must be made on the 107 | latest development branch. So pull the 1.9/develop branch, make the changes and request a pull. 108 |

109 |

110 | 大きな変更、新しい機能の実装、または開発に時間のかかる機能に関しては、独立したブランチを設定します。 111 | 電子メールまたはIRCを利用して、その機能についてコア開発者と連絡を取ってください。 112 |

113 | 114 |
115 | 116 | 122 |
123 | 124 | 125 | -------------------------------------------------------------------------------- /credits.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | クレジット表示 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

クレジット表示

48 |
コア開発者
49 |

これらの開発者は、ほぼ毎日コミットし、フレームワークについてのすべての最終的な決定を下します。

50 |
    51 |
  • Harro Verton - プロジェクトマネージャー、1.x コードベース と 2.0 コアのメンテナ
  • 52 |
  • Steve West - 開発者、2.0 ORM、Fieldsets、Validation の開発リード
  • 53 |
54 | 55 |

56 | コア開発者になるために何をするか考えますか? このフレームワークの未来にについて IRC で議論すること、 57 | Open な問題に Pull Request を送る、承認されたフィーチャーリクエストをやっつける、または、 58 | 新しいバージョン 2.0 のための仕事に参加することから始めてください。

59 | 60 |
卒業生
61 |

62 | 不幸にも、時は移り変わり、人々は先に進みます。 63 | 我々は次の人々の FuelPHP フレームワークのコア開発者としての努力に感謝します。 64 | 彼らがいなかったら、今日の FuelPHP はなかったでしょう! 65 |

66 |
    67 |
  • Frank de Jonge - 開発者、Email パッケージと2.0 composer パッケージの開発
  • 68 |
  • Jelmer Schreuder - プロジェクトアーキテクト、ORM パッケージの開発
  • 69 |
  • Phil Sturgeon - 開発者、Oil パッケージの開発
  • 70 |
  • Dan Horrigan - プロジェクト創始者
  • 71 |
72 | 73 |
貢献者
74 |

最新の貢献者のリストは GitHub のリポジトリごとにあります:

75 |
    76 |
  • FuelPHP App リポジトリ: fuel/fuel
  • 77 |
  • FuelPHP Core リポジトリ: fuel/core
  • 78 |
  • FuelPHP Oil パッケージ: fuel/oil
  • 79 |
  • FuelPHP Auth パッケージ: fuel/auth
  • 80 |
  • FuelPHP Orm パッケージ: fuel/orm
  • 81 |
  • FuelPHP Parser パッケージ: fuel/parser
  • 82 |
  • FuelPHP Email パッケージ: fuel/email
  • 83 |
  • FuelPHP Documentation リポジトリ: fuel/docs
  • 84 |
85 | 86 |
87 | 88 | 94 |
95 | 96 | 97 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/favicon.ico -------------------------------------------------------------------------------- /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NEKOGET/FuelPHP_docs_jp/9d8c6ff1eaa8894fc6a7c1ef9582e2580e217640/favicon.png -------------------------------------------------------------------------------- /general/classes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | クラス - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

クラス

48 | 49 |

クラスとは?

50 | 51 |

クラスは通常の PHP クラスです。何かを継承したり、ネーミング以外の制約に従う必要はありません。制約は、Fuel のその他のすべてのクラスと同じものです。

52 | 53 |
class Session
54 | 55 |

これは app/classes/session.php をロードします。

56 | 57 |

クラスの読み込み

58 | 59 |

他のフレームワークとは違って、クラスは手動でロードする必要はありません。コード (コントローラやモデルなど) 内で参照すると自動的にロードされます。

60 | 61 |

サブディレクトリ内のクラス

62 | 63 |

Controllers と同様に、クラスは最初の文字のみ大文字でその他は小文字にしなければなりません。一方アンダースコアはサブディレクトリにクラスを置きます。

64 | 65 |
Class Session_Driver
66 | 67 |

これは app/classes/session/driver.php をロードします。

68 | 69 |

クラスと名前空間

70 | 71 |

72 | ロードする PHP ファイルを決める際に、FuelPHP のオートローダは名前空間とアンダースコアのクラス名をまったく同じに扱います。 73 | これは、サブディレクトリ内のクラスで、自由に名前空間とアンダースコアをミックするして使うことができるということです。 74 |

75 | 76 |

たとえば、ファイル app/classes/core/system/messages.php の中のクラスの場合、このファイル内のクラスは、次のように定義できます:

77 | 78 |
// グローバル名前空間、アンダースコアだけのクラス名
 79 | class Core_System_Messages {}
 80 | 
 81 | // 名前空間とアンダースコアのコンビネーション
 82 | namespace Core;
 83 | class System_Messages {}
 84 | 
 85 | // 名前空間だけ
 86 | namespace Core\System;
 87 | class Messages {}
 88 | 
89 | 90 |

91 | 最初の方法は最も一般的に使用され、理解するのも最も簡単です。名前空間つきバージョンは、定義されたクラスを使用する Use ステートメントを組み合わせて使うと 92 | 特に便利です。 93 |

94 | 95 |
96 |

クラスの初期化

97 | 98 |

クラスがロードされたときに、Fuel のオートローダに何らかのタスクを自動的に実行させることができます。 99 | これは __construct() がクラスのインスタンスにすることと同様です。 100 | これはクラスに public の _init() メソッドを追加することで可能になります。

101 | 102 |
class Example {
103 | 	public static function _init()
104 | 	{
105 | 		// これはクラスをロードしているときに呼び出されます。
106 | 	}
107 | }
108 | 109 |

読み込まれたクラスが自身に _init() メソッドがあり、親クラスがそれと一緒にロードされる必要がある場合、 110 | 親クラスの init メソッドは 111 | parent::_init(); を使用しない限り呼び出されません。

112 |
113 | 114 |
115 | 116 | 122 |
123 | 124 | 125 | -------------------------------------------------------------------------------- /general/constants.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 定数 - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

定数

48 | 49 |

50 | Fuel はグローバル名前空間に 4 つの定数があります。これらは重要なディレクトリを示しています。Fuel は内部的にこれらを使用し、クラスや他のファイルを位置づけています。 51 | これらの定数は public/index.php で設定されています。 52 |

53 | 54 |

55 | 注意: Fuel の主要フォルダ (app, core, public, packages) を移動している場合、index.php で正しいパスを指定していることを確認してください。 56 |

57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 70 | 71 | 72 | 73 | 77 | 78 | 79 | 80 | 86 | 87 | 88 | 89 | 93 | 94 | 95 | 96 | 100 | 101 | 102 |
キー内容
APPPATH 67 | アプリケーションディレクトリへのパス (/path/to/fuel/app). 68 | これはアプリケーションディレクトリやコードを置く場所です。 69 |
COREPATH 74 | コアディレクトリへのパス (/path/to/fuel/core). 75 | これはすべての Fuel クラスがある場所です。 76 |
DOCROOT 81 | 起動スクリプトのパス。 82 | アプリケーションでは、パブリックディレクトリのパス (/path/to/public) で、 83 | index.php が配置されます。このパス以下の全てのファイルはユーザが確認でき、ブラウザ経由でアクセス可能です。 84 | oil コマンドでは、oil コマンドが配置されるパスになります。 85 |
PKGPATH 90 | パッケージが配置されるパス (/path/to/fuel/packages)。 91 | ここにはあなたのパッケージがインストールされます(oil でインストールされた場合)。 92 |
VENDORPATH 97 | Composer のルートディレクトリ (/path/to/fuel/vendor)。 98 | packagist.org からダウンロードされたライブラリが Composer でインストールされる場所です。 99 |
103 | 104 |

105 | 注意: Oil パッケージを使う場合、Web サイトの docroot にある 'oil' ファイルに同じ変更を加える必要があります。 106 |

107 | 108 |

109 | 注意: ユニットテストを実行する場合、fuelphp の core フォルダにある 'phpunit.xml' ファイルに同じ変更を加える必要があります。 110 |

111 |
112 | 113 | 119 |
120 | 121 | 122 | -------------------------------------------------------------------------------- /general/controllers/hybrid.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Hybrid コントローラ - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Hybrid コントローラ

48 | 49 |

50 | Hybrid コントローラは、1 つのベースコントローラで、REST コントローラと 51 | Template コントローラの両方の機能を一緒にもたらします。 52 |

53 | 54 |

55 | Template や REST の機能の詳細については、Controller_Rest または Controller_Template のページを参照してください。 56 |

57 | 58 |
59 | 60 | 66 |
67 | 68 | 69 | -------------------------------------------------------------------------------- /general/extending_core.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Core の拡張 - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

コアクラスの拡張

48 | 49 |

何をしているかを理解してください。同じ名前で拡張されたコアメソッドは、アプリケーションからと同様にコアから使用されます。 50 | そのため予期しない振る舞いをすることがあります。

51 | 52 | 58 | 59 |
60 |

コアクラスを置き換えずに拡張する

61 | 62 |

最も簡単で、あなたが生成した他のクラスと同様に動作します。 63 | グローバル名前空間のコアクラスを単に拡張します。

64 | 65 |
class MyConfig extends Config {}
66 |
67 | 68 |
69 |

コアクラスを拡張し、置き換える

70 | 71 |

あなたのアプリケーションから使用される場合と同様に、拡張したコアクラスが他のコアクラスからも使用されるようにするには、 72 | 元のコアクラスと同じ名前でクラスを拡張する必要があります。ただし、"Fuel\Core" 名前空間から拡張するようにしてください。 73 | "fuel/app/classes/lang.php" に Lang クラスを拡張した例を示します。

74 | 75 |
class Lang extends Fuel\Core\Lang {}
76 | 77 |

しかし、コアクラスを同じ名前を持つクラスは、デフォルトでは無視されます。 78 | オートローダに置き換えたクラスを認識させるには、アプリケーションブートストラップファイルで登録するする必要があります。次の行を探してください:

79 | 80 |
Autoloader::add_classes(array(
 81 | 	// ここにオーバーライドしたいクラスを追加します
 82 | 	// Example: 'View' => APPPATH.'classes/view.php',
 83 | ));
84 | 85 |

下記のように、コメントで説明されている通りにLangクラスを追加します。

86 | 87 |
Autoloader::add_classes(array(
 88 | 	// ここにオーバーライドしたいクラスを追加します
 89 | 	// Example: 'View' => APPPATH.'classes/view.php',
 90 | 	'Lang' => APPPATH.'classes/lang.php',
 91 | ));
92 | 93 |

この後、コアクラスはあなたが拡張したクラスに置き換わります。

94 |

頭にフルパスの名前空間をつけて使用した場合、これまで通りコアクラスを使用できます。 95 | 上記の拡張"Lang"では、"Fuel\Core\Lang"と呼ぶ事でオリジナルのものを使用できます。

96 |
97 | 98 |
99 |

パッケージからコアを拡張する

100 | 101 |

コアの名前空間としてパッケージを追加することで、オートローダはコアからロードする前に 102 | あなたのパッケージからクラスをロードしようとします。 103 | それらのクラスは検出されるようにオートローダでクラスを登録しなければなりません (ファイルシステムオートローダはグローバルへのエイリアスをサポートしません)。 104 | 以下は View クラスを拡張する例です。

105 | 106 |
Autoloader::add_core_namespace('Example');
107 | 
108 | Autoloader::add_classes(array(
109 | 	'Example\\View'  => __DIR__.'/classes/view.php',
110 | ));
111 |
112 | 113 |
114 |

拡張の制限

115 | 116 |

すべてのクラスは app から拡張可能です。殆どのクラスは packages から拡張可能ですが、少し例外があります。

117 | 118 |
    119 |
  • Fuel
  • 120 |
  • Config
  • 121 |
  • Config_Php
  • 122 |
  • Config_File
  • 123 |
  • Config_Interface
  • 124 |
  • Finder
  • 125 |
  • Arr
  • 126 |
  • Input
  • 127 |
  • Security
  • 128 |
  • Event
  • 129 |
  • Event_Instance
  • 130 |
  • そして、あなたが app/config/config.php で使用している任意のクラス
  • 131 |
132 | 133 |

あなたが設定でプロファイラを有効にしている場合は、packages からこれらのクラスもまた拡張することはできません:

134 | 135 |
    136 |
  • Cookie
  • 137 |
  • Session
  • 138 |
  • Session_Cookie (または別のセッションドライバクラス、あなたのセッション設定に依存)
  • 139 |
  • Session_Driver
  • 140 |
  • Date
  • 141 |
  • Profiler
  • 142 |
143 | 144 |

145 | あなたは app/bootstrap.php ファイルの Fuel::init() の直前に Package::load('mypackagename'); を 146 | 追加することにより、あなたのパッケージを手動で読み込むことでこれらの制限の一部を回避することができます。 147 | そうした場合も、あなたのパッケージでは拡張できません: 148 |

149 | 150 |
    151 |
  • Fuel
  • 152 |
  • Config
  • 153 |
  • Package
  • 154 |
  • Arr
  • 155 |
  • Finder
  • 156 |
157 | 158 |

Autoloader

159 |

Autoloader クラスは特殊なケースであり、あなただけの Autoloader 160 | として一度だけそれを拡張することができそれが利用されます。 拡張した後は、忘れずにグローバルなコアクラスのエイリアス行を削除し、 161 | オリジナルの Fuel\Core\Autoloader の後に app/bootstrap.php 162 | ファイルに手動でそれを読み込むようにする必要があります。

163 |
164 | 165 |
166 | 167 | 173 |
174 | 175 | 176 | -------------------------------------------------------------------------------- /general/hmvc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | HMVC リクエスト - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

HMVC リクエスト

48 | 49 |

50 | HMVC リクエストは、複数の場所で、ロジックの分離とコントローラロジックを再利用するための優れた方法です。 51 | 1 つのよくある使用法は、テーマやテンプレートエンジンを使用してページを生成するときに、 52 | 各ページはセクションに分かれていて、セクションはウィジェットによって表示されます。 53 | モジュールを使用してウィジェットの出力を生成する、高度にモジュール化され簡単にコンポーネントを再利用できるアプリケーションを作成できます。 54 |

55 | 56 |

Request クラスを使うと、モジュールコントローラのメソッドを呼び出せます:

57 |
// コントローラの出力を取得する
 58 | $widget = Request::forge('mycontroller/mymethod/parms')->execute();
 59 | echo $widget;
 60 | 
 61 | // または、モジュールの出力を取得する
 62 | $widget = Request::forge('mymodule/mycontroller/mymethod/parms', false)->execute();
 63 | echo $widget;
 64 | 
 65 | // そして、データを渡す必要があるなら
 66 | $widget = Request::forge('mymodule/mycontroller/mymethod/parms', false)->execute(array('tree'=>'apple'));
 67 | echo $widget;
 68 | 
 69 | 
70 |

71 | デフォルトでは、すべてのリクエストは、Fuel のルーティングエンジンによって処理されます。 もし、ルーティング可能でないリクエストをしたい場合 72 | (たとえば、ブラウザからそれをリクエストされたくない場合)、'false' を 2 番目のパラメータとして 73 | forge() の呼び出しに渡す必要があります。 そうしない場合、リクエストを実行すると、404 エラーで終了します! 74 |

75 | 76 |

77 | HMVC リクエストでのビューのロードは、通常のリクエストの場合と同じで、HMVC リクエストによりアクセスされるコントローラも 78 | ブラウザを経由してアプローチできます。 しかし、いくつかのケースではコンポーネント (例えば、ウィジェット) に 79 | ブラウザ経由でアクセスされたくないことがあります。 これらのケースでは、リクエストが HMVC 経由かブラウザ経由かを、確認するとよいでしょう。 80 | 次の例は、HMVC リクエストを確認する方法を示しています: 81 |

82 | 83 |
<?php
 84 | 
 85 | class Controller_Widget extends Controller
 86 | {
 87 | 
 88 | 	public function action_show()
 89 | 	{
 90 | 		if( ! Request::is_hmvc())
 91 | 		{
 92 | 			// これがメインのリクエスト
 93 | 		}
 94 | 		else
 95 | 		{
 96 | 			// これが HMVC リクエスト
 97 | 		}
 98 | 	}
 99 | 
100 | }
101 | 102 |

HMVC リクエスト中での 404

103 | 104 |

105 | HMVC リクエストの中で 404 が発生した場合、 HttpNotFoundException が投げられます。もし、キャッチされない場合、 106 | フレームワークのデフォルトの 404 ページのロードをもたらします。しかしながら、そうしないようにその 404 を自分で扱うこともできます 107 | : 108 |

109 | 110 |
try
111 | {
112 | 	\Request::forge('this_will_fail');
113 | }
114 | catch (HttpNotFoundException $e)
115 | {
116 | 	// 404 を処理する
117 | }
118 | 
119 | 120 |

リクエストインスタンスの横断

121 | 122 |

あなたが他のリクエストにアクセスしたい場合は、次の 2 つの方法があります: 123 | $request->parent()$request->children() です。parent は現在のリクエストが作成されたリクエストです 124 | (メインのリクエストでは null になります)。children は、現在のリクエストの中で作成された 125 | すべてのリクエストです。

126 | 127 |
128 | 129 | 135 |
136 | 137 | 138 | -------------------------------------------------------------------------------- /general/models.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | モデル - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

モデル

48 | 49 |

モデルとは?

50 | 51 |

52 | データを取得し、操作し、あるいはそれを消去したい場合、その処理は常にモデルによって行われるべきです。モデルは、ある種のデータ表現であり、 53 | データを変化させるメソッドを持ちます。たとえば。コントローラには SQL クエリを一切記述せず、モデル側にそれを記述し、コントローラではモデルが実行したクエリを呼び出す、 54 | というような処理が出来ます。この方法によって、データベースを変更した時もコントローラを書き換える必要はなく、データベースに影響を及ぼすモデルのみを書き換えるだけですむのです。 55 |

56 | 57 |

どのようにモデルを使うか?

58 | 59 |

60 | Fuel において、モデルの本質は単なる クラス です。他のものと同様なのです。つまりライブラリ以外のなにものでもありません。 61 | ただし Model_ プレフィックスが付いているので、他のクラスと見分けを付けることが容易になります。モデルを有効に使うためには、他のクラスを必要とするでしょう。 62 |

63 | 64 |

モデルを作る

65 | 66 |

 67 | namespace Model;
 68 | 
 69 | class Welcome extends \Model {
 70 | 
 71 |     public static function get_results()
 72 |     {
 73 |         // データベースに対する処理
 74 |     }
 75 | 
 76 | }
77 | 78 |

現在の名前空間の外部にあるグローバルからクラスを使う時には、 79 | バックスラッシュをプレフィックスとしてつけることを忘れないでください。もしこの点について理解していない場合は、 80 | PHP.net の名前空間に関する部分を読んでください。

81 | 82 |

モデルへのアクセス

83 | 84 |

PHP は、現在の名前空間にクラスをインポートするための use キーワードをもっています。 85 | このキーワードによって、特定のクラスのファイルの中で、モデルクラス名 Model\WelcomeWelcome 86 | という単純な名前に短縮出来ます。

87 | 88 |

 89 | use \Model\Welcome;
 90 | 
 91 | class Controller_Welcome extends Controller
 92 | {
 93 |     public function action_index()
 94 |     {
 95 |         $results = Welcome::get_results();
 96 |     }
 97 | }   
98 | 99 | 100 | 101 |

モデルを書く

102 | 103 |

モデルは、どのようなかたちのデータストレージに対しても使うことができますが、ここでは SQL での利用に焦点を当てましょう。というのも、 104 | それが最もよく使われているものだからです。ほとんど常だと思いますが、作られるモデルには少なくとも CRUD 105 | メソッド: create, read, update, delete (あるいはそれらのバリエーション) の 4 つが全て含まれているはずです。Fuel においては、 106 | モデルは、デフォルトでは何も継承する必要がありません。 107 | もちろん、自分なりのベースモデルを作ることや Fuel の Orm パッケージ を使うことも出来ます。

108 | 109 |

SQL クエリを書く

110 | 111 |

DB クラス を使ってネイティブな SQL クエリを次のように作成することが出来ます:

112 | 113 |
DB::query('SELECT * FROM users WHERE id = 5');
114 | 115 |

クエリビルダを使う

116 | 117 |

データをエスケープする、データを配列で使う、あるいは複数のデータベースエンジンを跨ぐことが出来るようなアプリケーションを作る、このような時、 118 | ネイティブな SQL が重荷になることがあります。DB クラスのクエリビルダのメソッドを用いれば、ネイティブ SQL を抽象化して書くことが出来ます。 119 |

120 | 121 |
DB::select('title','content')->from('articles')->execute()->get('title');
122 | 123 |

ネイティブ SQL クエリとクエリビルダの利用については DB クラス のドキュメントをご覧ください。

124 | 125 |

モデル作成のために Model_Crud を使う

126 | 127 |

モデルを作るための有効な方法の 1 つは Model_Crud を使うことです。これはデータベースのテーブルとのやりとりに必要な一般的な機能を提供し、以下のように使用します。

128 | 129 |
// 全ての記事を探し出す
130 | $entry = Model_Article::find_all();
131 | 
132 | // 日付逆順でカテゴリ 1 に属する全ての記事を探し出す
133 | $entry = Model_Article::find(array(
134 |     'where' => array('category_id', 1),
135 |     'order_by' => array('date' => 'desc')
136 | ));
137 | 138 |

モデル作成のために Orm パッケージを使う

139 | 140 |

リレーションのサポートなどモデルのためのもっと多くの機能が必要なら、 Orm パッケージを使うこともできます。これはあなたのモデルにとんでもなく多くの機能を追加します。以下のように使用します。

141 | 142 |
// 全ての記事を探し出す
143 | $entry = Model_Article::find('all');
144 | 
145 | // 日付逆順でカテゴリ 1 に属する全ての記事を探し出す
146 | $entry = Model_Article::find('all', array(
147 |     'where' => array('category_id', 1),
148 |     'order_by' => array('date', 'desc')
149 | ));
150 | 151 |

Model_Crud と ORM パッケージは似た構文を持っています。これは Model_Crud が提供するより多くの機能が必要になった時に、簡単に Orm に移行できるようにするためです。

152 | 153 |
154 | 155 | 161 |
162 | 163 | 164 | -------------------------------------------------------------------------------- /general/mvc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Model-View-Controller - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

モデル、ビュー、コントローラ (MVC)

48 | 49 |

MVC とは?

50 | 51 |

MVC は、アプリケーションでの役割に基づいてコードを分離するアプローチです。 52 | アプリケーションフローでは、まずコントローラが呼び出されます。コントローラは、モデルを使用してデータを取得するメソッドを実行します。 53 | それから、コントローラはどのビューを呼び出すか決定します。 54 | ビューには訪問者が閲覧する出力が含まれています。

55 | 56 |

コントローラ

57 | 58 |

コントローラクラスは APPPATH/classes/controller に配置します。

59 | 60 |

FuelPHP のルーティングは、呼び出すコントローラとメソッドをリクエスト URL に基づいて、決定します。 61 | ここからアプリケーションが動き出します。コントローラは、何を行うか、ユーザの入力をどう扱うか、 62 | どのデータが処理されるか、どのビューをユーザに見せるか、を決めます。しかし、コントローラは、自身では何も行いません。 63 | モデルとクラスを呼び出します。

64 | 65 |

詳細については コントローラ を参照ください。

66 | 67 |

モデル

68 | 69 |

モデルクラスは APPPATH/classes/model に配置します。

70 | 71 |

データを取得/処理/削除する必要がある時は必ず、モデルで行うべきです。 72 | モデルは、ある種のデータの表現であり、データを変更するメソッドがあります。例: 73 | コントローラに SQL クエリを置くべきではありません。SQL クエリはモデルに置き、コントローラはクエリを実行するときにモデルを呼び出します。 74 | こうすると、データベースが変更になった場合、コントローラを変更する必要はなく、 75 | データベースを扱うモデルのみ変更すればよいです。

76 | 77 |

詳細については モデル を参照ください。

78 | 79 |

ビュー

80 | 81 |

ビューは APPPATH/views に配置します。

82 | 83 |

ビューには HTML が含まれます。コントローラや、出力を意図しない他のクラスには HTML が含まれるべきではありません。 84 | ロジックからレイアウトを分離することで、 85 | レイアウトを変更するときに、ビューを変更しさえすれば良く、コントローラを気にする必要はなくなります。
86 | したがって、ビューでは PHP は echoforeach を使う程度にすべきです。

87 | 88 | 89 | 90 |

詳細については ビュー を参照ください。

91 | 92 |

プレゼンタ

93 | 94 |

Presenter クラスは APPPATH/classes/presenter に配置します。

95 | 96 |

アプリケーションが複雑になると、アプリケーションロジックにあまり関係がなく、 97 | ビューに密接に関係するロジックをコントローラに含めるかどうか判断が難しくなるでしょう。 98 | この場合、プレゼンタが役立ちます。 99 | プレゼンタはコントローラとビューの仲立ちをします。

100 | 101 |

詳細については プレゼンタ を参照ください。

102 | 103 |
104 | 105 | 111 |
112 | 113 | 114 | -------------------------------------------------------------------------------- /general/packages.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | パッケージ - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

パッケージ

48 | 49 |

50 | モジュール・サードパーティライブラリ・設定などといった、あらゆる種類のものを含むことができる 51 | パッケージは、コードの組織化・再利用・共有のための素晴らしい手段です。 52 | app/classes ディレクトリを滅茶苦茶することなくに core を拡張することもできます。 53 | 以下で、パッケージとは何であり、何でないのかを明らかにして行きましょう。 54 |

55 | 56 |

パッケージは

57 |
    58 |
  • コードをまとめ、
  • 59 |
  • サードパーティライブラリを維持するための場所を提供し、
  • 60 |
  • 誰かが書いたコードを滅茶苦茶にすることなく拡張すること実現し、
  • 61 |
  • core を目茶目茶にすることなく fuel の拡張をするための場所です。
  • 62 |
63 | 64 |

一方で

65 |
    66 |
  • パッケージは URL をマップすることはなく、
  • 67 |
  • また、 HMVC リクエストからアプローチすることはできません。
  • 68 |
69 | 70 |

パッケージのインストール

71 |

パッケージのインストールは、手動もしくは oil から行えます。手動でインストールするには、ダウンロードしたパッケージをパッケージディレクトリ (デフォルトでは fuel/packages) へ配置してください。

72 |

パッケージを利用する際には、パッケージを app/config/config.phpalways_load へ追加するか、 73 | もしくは Package::load() を呼び出す必要があります。

74 | 75 |

パッケージの作成

76 |

あなたが何をしているのかを他の人が理解しやすくするための、ベストなパッケージ構造:

77 | 78 |
/packages
 79 |     /package
 80 |         /bootstrap.php
 81 |         /classes
 82 |             /your.php
 83 |             /classes.php
 84 |             /here.php
 85 |         /config
 86 |             /packageconfig.php
 87 |         /and_so_on
 88 | 
89 | 90 |

91 | すべてのパッケージはパッケージのベースに bootstrap.php を持つことが期待されます。 92 | ブートストラップを使い、パッケージの名前空間を追加します (ご希望の場合、グローバルに)。そして、よりよいパフォーマンスのためにクラスを追加します。 93 |

94 | 95 |
// 名前空間を追加する。オートローダがクラスを見つけられるようにするために必要
 96 | Autoloader::add_namespace('Mypackage', __DIR__.'/classes/');
 97 | 
 98 | // コア名前空間として追加する
 99 | Autoloader::add_core_namespace('Mypackage');
100 | 
101 | // コア名前空間 (クラスはグローバルにエイリアスが作成され、名前空間のプレフィックスなしで利用できる) として追加する
102 | // 第 2 引数を true にセットすると、コアクラスを上書きできる
103 | Autoloader::add_core_namespace('Mypackage', true);
104 | 
105 | // そしてクラスを追加する、これは以下に役立つ:
106 | // - 最適化: パス検索が不要に
107 | // - コア名前空間として使用できるようにする必要がある場合
108 | // - オートローダのパス検索ルールに反する場合
109 | Autoloader::add_classes(array(
110 | 	'Mypackage\\Classname' => __DIR__.'/classes/classname.php',
111 | 	'Mypackage\\Anotherclass' => __DIR__.'/classes/anotherclass.php',
112 | ));
113 | 
114 | 115 |

クラスの準備が整ったら、それらを使用することができます。

116 | 117 |

Note: パッケージの名前空間がグローバルにエイリアスされていない場合、名前空間を指定する必要があります:

118 | 119 |
// グローバルにエイリアスされている場合
120 | $instance = new Myclass;
121 | 
122 | // グローバルにエイリアスされていない場合
123 | $instance = new Mynamespace\Myclass;
124 | 
125 | 126 |
127 | 128 | 134 |
135 | 136 | 137 | -------------------------------------------------------------------------------- /general/profiling.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | プロファイリング - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

プロファイリング

47 | 48 |

FuelPHP に同梱のアプリケーションプロファイラは、PHP Quick Profiler をベースにしています。

49 | 50 |

プロファイリングとは?

51 | 52 |

53 | プロファイラは、多くの余計なコードを追加することなく、プロファイリングとデバッグに関係する情報を提供します。 54 | あなたは設定を true に切り替えることで、より早くより一貫性のあるレビューを支援する自動化されたツールに 55 | アクセスすることができます。 56 | また誰もが使えるので、レビューの前にコードに関する情報を得ることもできます。 57 |

58 | 59 |

プロファイラは、タブ化されたインターフェイスを提供し、これにより以下の情報を見つけられます:

60 |
    61 |
  • Console. デフォルトのタブ。エラー、ログ、メモリ使用量や実行タイミングに関する情報を提供します。
  • 62 |
  • Load time. リクエストのロード時間。タブ内で詳細を表示します。
  • 63 |
  • Database. 実行されたクエリ数や実行時間および、もしサポートされていればクエリの解析。
  • 64 |
  • Memory. リクエストの処理に要したメモリ使用量。
  • 65 |
  • Files. 読み込まれた PHP ファイルのフルパス名と、それらの容量。
  • 66 |
  • Config. 処理の終了時点における、設定値の内容。
  • 67 |
  • Session. 処理の終了時点における、セッション値の内容。
  • 68 |
  • GET. $_GET 配列の内容。
  • 69 |
  • POST. $_POST 配列の内容。
  • 70 |
71 | 72 |

典型的なプロファイラの画面はこんな感じです:

73 | 74 |

プロファイラの画面の最下部に、次の3つのオプションがあります:

75 |
    76 |
  • Bottom. デフォルトで、プロファイラは画面上にオーバーレイの形で表示されます。プロファイラのすべての出力を見たいときに、このオプションをクリックすると最後まで移動します。もう一度クリックすると前に戻ります。
  • 77 |
  • Height. プロファイラのパネルの大小を切り替えます。
  • 78 |
  • Details. プロファイラの詳細表示を切り替えます。off にすると、タブバーだけが表示されます。
  • 79 |
80 | 81 |

アプリケーションのプロファイリング

82 | 83 |

84 | デフォルトでは、アプリケーションのプロファイリングは無効になっています。アプリケーションの config/config.php ファイルで、プロファイラを有効化できます。 85 |

86 |
'profiling'  => true,
 87 | 
88 |

89 | プロファイラが有効化されると、ブラウザの画面の最下部にポップアップで表示されます。 90 |

91 | 92 |

データベースのプロファイリング

93 | 94 |

95 | データベースのプロファイリングはデフォルトで無効になっています。データベースのプロファイリングは、データベース毎に有効化できます。 96 | config/<environment>/db.php で、プロファイリングしたいデータベースの 'profiling' オプションを 97 | true に設定して有効化します。 98 |

99 | 100 |
'profiling'  => true,
101 | 
102 |

複数の環境を使用している場合、設定する db.php ファイルが正しいか確認してください。

103 | 104 |

プロファイラに情報を追加する

105 | 106 |

どのようにしてプロファイラとやり取りするかは、Profiler クラスのドキュメントを参照してください。

107 | 108 |
109 | 110 | 116 |
117 | 118 | 119 | -------------------------------------------------------------------------------- /general/tasks.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | タスク - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

タスク

47 | 48 |

タスクとは

49 | 50 |

タスクは、コマンドラインから実行されるかまたは cron ジョブとしてセットアップされるクラスです。一般的にはバックグラウンドプロセス、定期的に行われるタスク、メンテナンスタスクで使用されます。タスクは、コントローラ同様、モデルや他のクラスを呼び出すことができます。

51 | 52 |

タスクを作成する

53 | 54 |

Fuel ではタスクは fuel/app/tasks ディレクトリに置かれます。以下は、タスク "example" の例です。

55 | 56 |
namespace Fuel\Tasks;
57 | 
58 | class Example
59 | {
60 | 
61 | 	public function run($message = 'Hello!')
62 | 	{
63 | 		echo $message;
64 | 	}
65 | }
66 | 67 |

これは、oil の refine ユーティリティで呼び出されます。

68 | 69 |
$ php oil refine example "Good morning"
. 70 | 71 |

コマンドでタスク名だけを用いると、メソッド "run()" を参照します。

72 | 73 |

タスクをメソッドに分割する

74 | 75 |

タスククラスにメソッドを追加して、タスクをより明確ないくつかのタスクに細分化することができます。そうすることでタスクを個別に呼び出しできます。

76 | 77 |
public function current_date()
78 | {
79 | 	echo date('Y-m-d');
80 | }
81 | 82 |

このメソッドは以下で呼び出しできます。

83 | 84 |
$ php oil refine example:current_date
85 | 86 |
87 | 88 | 94 |
95 | 96 | 97 | -------------------------------------------------------------------------------- /general/viewmodels.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | ビューモデル - 概要 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |
48 |

ビューモデル

49 | 50 |

バージョン 1.7.2 から、ビューモデルは プレゼンタ に名称変更されました。

51 | 52 |

後方互換のため、Viewmodel は Presenter のエイリアスとされていますので、ビューモデルを使ったアプリケーションは引き続き動作します。

53 |
54 | 55 |
56 | 57 | 63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

FuelPHP へようこそ

48 | 49 |

50 | FuelPHP はシンプルで、フレキシブルな、コミュニティにより開発されている PHP 5 用の Web フレームワークです。現在のフレームワークに対する不満から産まれ、開発者のコミュニティからサポート、支持されています。 51 | FuelPHP はとても移植性が高く、多くのサーバで動き、そして、とても綺麗な構文のフレームワークです。 52 |

53 | 54 |

クイックインストール

55 | 56 |

もしあなたが今すぐに Fuel を試したいと思うなら、高速インストーラを使ってみてください。curl ライブラリを使用し、oil の必要最小限のバージョンをインストールできます。それから、Fuel の新しい完全なアプリケーションを作成できます。

57 | 58 |
# oil を Web からクイックインストールします
 59 | $ curl get.fuelphp.com/oil | sh
 60 | # oil が、たった今、インストールされました。Sites ディレクトリで blog プロジェクトを作ります
 61 | $ cd Sites/
 62 | $ oil create blog
63 | 64 |

65 | 詳細は、インストール方法 のページをご覧ください。 66 |

67 | 68 |

手動インストール

69 | 70 |

71 | クイックインストールが使えない場合は、手動で FuelPHP をインストールできます。 72 | 詳細な手順は、インストール方法 のページにあります。 73 |

74 | 75 |

次のステップ

76 | 77 | 83 | 84 |

Offline docs

85 | 86 |

87 | All the documentation is avaliable as a static download here 88 |

89 | 90 |

クラス API ドキュメント

91 | 92 |

93 | 私たちは、すべてのクラスの完全な API ドキュメントをオンラインで提供します。 94 |

95 | 96 |

開発ブランチのドキュメント

97 | 98 |

99 | このドキュメントは、最新の公式リリースの FuelPHP を反映しています。 100 | 開発最先端の Fuel のドキュメントは 開発ブランチのドキュメント をご覧ください。 101 |

102 | 103 |
104 | 105 | 111 |
112 | 113 | 114 | -------------------------------------------------------------------------------- /installation/download.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Fuel のダウンロード - インストール - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Fuel をダウンロードする

48 | 49 |

Fuel は現在 v1.8. です。以下のリンクから Fuel をダウンロードできます:

50 | 51 | 98 |

コマンドラインから Fuel の承認されたパッケージの 1 つをインストールするために Oil ユーティリティ を使用します。

99 | 100 |

コアに貢献する

101 | 102 |

Fuel はコミュニティ主導で開発されており、私たちは参加を歓迎しています。もし貢献に興味があれば、 103 | 私たちの コーディング標準 を読む時間を少し割いてください。 104 | これらのガイドラインを読んでいない貢献は受け入れられません。読んでいれば、fork、commit、Pull Request することができます。 105 | 方法がわからない場合は: 106 | http://help.github.com/forking/ を参照してください。 107 |

108 | 109 |

パッケージに貢献する

110 | 111 |

112 | 他の Fuel ユーザに興味を持ってもらえるものが何かあるでしょうか? それは パッケージ を作成することです。 113 | 適切にコーディングされており、コーディング標準 に準拠していれば、 114 | 私たちはこのページにそれを掲載し、oil コマンドラインユーティリティを使用してインストールできるようにします。 115 |

116 | 117 |
118 | 119 | 125 |
126 | 127 | html> 128 | -------------------------------------------------------------------------------- /license.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | ライセンス - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

ライセンス

[訳注: オープンソースグループ・ジャパンによる MIT ライセンスの日本語参考訳]

48 | 49 |

The MIT License

50 | 51 |

Copyright (c) 2010 - 2016 Fuel Development Team

52 | 53 |

54 | Permission is hereby granted, free of charge, to any person obtaining a copy 55 | of this software and associated documentation files (the "Software"), to deal 56 | in the Software without restriction, including without limitation the rights 57 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 58 | copies of the Software, and to permit persons to whom the Software is 59 | furnished to do so, subject to the following conditions: 60 |

61 | 62 |

63 | The above copyright notice and this permission notice shall be included in 64 | all copies or substantial portions of the Software. 65 |

66 | 67 |

68 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 69 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 70 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 71 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 72 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 73 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 74 | THE SOFTWARE. 75 |

76 | 77 |
78 | 79 | 85 |
86 | 87 | 88 | -------------------------------------------------------------------------------- /packages/auth/drivers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 自作ドライバを書く - Auth パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

Auth パッケージ

47 | 48 |

Auth パッケージは Fuel における標準化された認証インターフェイスを提供します。 49 | これにより、ユーザは自分自身で新しいドライバを書くことができ、 50 | 基本的なメソッドを保つことで、古いコードに新しいドライバを簡単に統合することもできます。

51 | 52 |
53 |

自作ドライバを書く

54 | 55 |

56 | 2 つの方法でドライバを書くことができます。 1 つは、新しいドライバを最初から作成するために Auth 57 | ドライバクラスを拡張するか、または既存のドライバクラスを拡張し、必要に応じてそれらを変更します。 58 |

59 | 60 |

61 | Auth ドライバは、組になって機能する 3 つのタイプのクラスから構成されています。その 3 つは: 62 |

63 | 64 |
    65 |
  • Login (Auth_Login_Driver) 。
  • 66 |
  • Group (Auth_Group_Driver) 。
  • 67 |
  • Acl (Auth_Acl_Driver) 。
  • 68 |
69 | 70 |

Auth クラスの継承

71 | 72 |

このようにクラスを継承します:

73 | 74 |
<?php
 75 | 
 76 | class Auth_Login_Mydriver extends \Auth\Auth_Login_Driver
 77 | {
 78 | 
 79 | 	// ドライバクラスに定義されている必要な関数と変数をすべて実装してください。
 80 | 
 81 | }
 82 | 
 83 | /* app/classes/auth/login/mydriver.php ファイルの末尾 */
 84 | 
85 | 86 |

関数の実装

87 | 88 |

89 | Auth ドライバクラスを継承したときは、実装が必要な各々の関数に期待される返り値に注意してください。 90 | どのメソッドもサンプルが提供されているので、何が返されるべきかわかります。例を挙げると: 91 |

92 | 93 |
/**
 94 |  * 現在ログイン中のユーザのユーザ識別情報を
 95 |  * 次の形式で取得: array(driver_id, user_id)
 96 |  *
 97 |  * @return  array
 98 |  */
 99 | abstract public function get_user_id();
100 | 101 |

102 | 上記のコードは、すべてのドライバが持たなければならない get_user_id 関数を示しています。 103 | 抽象関数を持つクラスを継承したすべての拡張クラスと同じく、これらの関数は拡張クラスで定義されなければなりません。 104 | 抽象関数の返り値の形式はコメント内で与えられています。今回のケースでは array(driver_id, user_id) です。 105 | 自作ドライバが他のドライバと一緒に機能するように、くれぐれも正しい値を返すようにしてください。そうでなければ、 106 | プロトコル違反になります。 107 |

108 | 109 |

110 | ここに同じ関数がありますが、しかし一方で Simpleauth ドライバからの実装です。 111 |

112 | 113 |
/**
114 |  * ユーザ ID を取得する
115 |  *
116 |  * @return  Array  ドライバ ID とユーザ ID を含む
117 |  */
118 | public function get_user_id()
119 | {
120 | 	if (empty($this->user))
121 | 	{
122 | 		return false;
123 | 	}
124 | 
125 | 	return array($this->id, (int) $this->user['id']);
126 | }
127 | 
128 | 129 |

130 | auth 設定を置き換えるか追加をして新たなドライバのために準備をします。 131 |

132 | 133 |
// config/auth.php の配列の内部
134 | 
135 | // 2 つ目のドライバとしてそれを追加
136 | 'driver' => array('Simpleauth', 'Mydriver'),
137 | 
138 | // もしくは、既存のドライバを置き換え
139 | 'driver' => array('Mydriver'),
140 | 
141 | 142 |
143 | 144 |
145 | 146 | 152 |
153 | 154 | 155 | -------------------------------------------------------------------------------- /packages/email/troubleshooting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | トラブルシューティング - Email パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

トラブルシューティング

48 | 49 |

よくある問題と回避策・修正方法をこのページにまとめました。

50 | 51 |

Google Mail を使う

52 | 53 |

以下の設定が必要です:

54 | 55 |
    56 |
  1. ドライバに 'smtp' を使ってください。
  2. 57 |
  3. SMTP のホストは "ssl://smtp.gmail.com" とします。
  4. 58 |
  5. SMTP のポートは 465 にします。
  6. 59 |
  7. 'newline' を "\r\n" に設定してください。
  8. 60 |
61 | 62 |
63 | 64 | 70 |
71 | 72 | 73 | -------------------------------------------------------------------------------- /packages/oil/console.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | コンソール - Oil パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |
47 | 48 |

コンソール

49 | 50 |

51 | コンソール (console) は、IDE を開くこともなく新しいクラスやモデル、簡単なコードをテストするための最速の方法です。 52 | シェルは対話的ですが、readline 拡張機能を有効にしない限りは bash などのように十分に対話型ではありません。これは PHP の制約によるものです。 53 | いずれの方法でも動作はしますが、 readline はより良い環境を提供してくれるでしょう。 54 |

55 | 56 |
$ php oil console
57 | Fuel 1.0.0-dev - PHP 5.3.3 (cli) (Aug 22 2010 19:27:08) [Darwin]
58 | >>> "Hello World!"
59 | Hello World!
60 | >>> 1+5
61 | 6
62 | >>> $i = 1
63 | >>> ++$i
64 | 2
65 | >>> json_encode(array('foo', 'bar'));
66 | ["foo","bar"]
67 | >>> $monkey = Model_Monkey::find('first');
68 | >>> $monkey->title
69 | Bobby the Gibbon
70 | 71 |
72 | 73 |
74 | 75 | 81 |
82 | 83 | 84 | -------------------------------------------------------------------------------- /packages/oil/intro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | はじめに - Oil パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Oil ユーティリティ

48 | 49 |

Oil ユーティリティは特別なパッケージコマンドで、いくつかの方法で使用すること出来ます。 50 | これを使用することで、素早い開発を楽にしたり、アプリケーションのテストを補助したり、Tasks を実行したりできます。

51 | 52 |
53 | 54 |

Oil はオプションのコマンドラインユーティリティで、いくつかの機能を提供することで開発速度をスピードアップできるように設計されています:

55 | 56 |
    57 |
  • Generate - MVC コンポーネント、マイグレーション、スキャフォールドを生成します。
  • 58 |
  • Refine - マイグレートや制作したタスクを実行します。
  • 59 |
  • Package - パッケージのインストール、更新および削除をします。
  • 60 |
  • Console - 対話シェルを使ってリアルタイムにコードをテストします。
  • 61 |
  • Test - PHPUnit テストを実行します。
  • 62 |
  • Server - PHP 5.4+ のビルトイン Web サーバを使い FuelPHP を実行します。
  • 63 |
64 | 65 |

66 | これらの各コマンドはそれぞれの目的のためにそれぞれの方法で動作しますが、実行する前に正しいフォルダにいることを確認し、 67 | oil が有効で実行できるかを確認してください。 68 |

69 | 70 |
$ cd Sites/fuel
 71 | $ php oil -v
 72 | Fuel: 1.2
73 | 74 |

環境

75 | 76 |

77 | Oil は HTTP リクエストのための .htaccess を使用したサーバ環境の指定を使用しないでしょう。 Oil は指定しない限り、デフォルトの環境を使用するでしょう。 78 |

79 | 80 |
$ FUEL_ENV=production php oil refine migrate
81 | 82 |

production の代わりに、定義された環境のいずれかを使用できます。

83 | 84 |

インラインヘルプ

85 | 86 |

Oil は自身の基本的なドキュメントを内部に持っています。次のコマンドで見ることができます:

87 | 88 |
$ php oil help
 89 | 
 90 | Usage:
 91 |   php oil [cell|console|generate|package|refine|help|server|test]
 92 | 
 93 | Runtime options:
 94 |   -f, [--force]    # 既存のファイルを上書きする
 95 |   -s, [--skip]     # 既存のファイルをスキップする
 96 |   -q, [--quiet]    # ステータス出力を抑制する
 97 |   -t, [--speak]    # ロボットの声でエラーを話す
 98 | 
 99 | Description:
100 |   The 'oil' command can be used in several ways to facilitate quick development, help with
101 |   testing your application and for running Tasks.
102 | 
103 | Environment:
104 |   If you want to specify a specific environment oil has to run in, overload the environment
105 |   variable on the commandline: FUEL_ENV=staging php oil <commands>
106 | 
107 | More information:
108 |   You can pass the parameter "help" to each of the defined command to get information
109 |   about that specific command: php oil package help
110 | 
111 | Documentation:
112 |   http://docs.fuelphp.com/packages/oil/intro.html
113 | 
114 | 
115 | 116 |

これらのコマンドのそれぞれにヘルプがあり、次のように見ることができます:

117 | 118 |
$ php oil generate help
119 | 120 |
121 | 122 |
123 | 124 | 130 |
131 | 132 | 133 | -------------------------------------------------------------------------------- /packages/oil/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Package - Oil パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |
48 | 49 |

パッケージ

50 | 51 |

52 | パッケージを手動でインストールしダウンロードできますが、package コマンドの助けを借りるとより素早く作業できます。 53 | これは fuel/core/config/package.php 内で定義されているソースリスト内のパッケージを検索しているからです。 54 | また、他の設定ファイル同様に編集することができますし、fuel/app/config フォルダにコピーすることもできます。 55 |

56 | 57 |

58 | Oil は賢いです。そのため、package コマンドで何かする前にあなたのコンピュータに Git がインストールされているかどうかチェックします。 59 | Git がインストールされている場合、Oil は 直接ファイルをダウンロードする代わりに Git リポジトリとしてパッケージをインストールします。 60 | これは更新や新しいリリースやパッケージの独自変更がより簡単になることを意味しています。 61 |

62 | 63 |

インストール

64 | 65 |
$ php oil package install test-package
 66 | Downloading package: git://github.com/philsturgeon/fuel-test-package.git
 67 | remote: Counting objects: 13, done.
 68 | remote: Compressing objects: 100% (11/11), done.
 69 | remote: Total 13 (delta 3), reused 0 (delta 0)
 70 | Receiving objects: 100% (13/13), 10.85 KiB, done.
 71 | Resolving deltas: 100% (3/3), done.
 72 | 
 73 | Cloning into /Users/phil/Sites/fuel/fuel/packages/test-package...
74 | 75 |

76 | Git がインストールさていない場合、または --direct フラグが指定された場合、 77 | パッケージの ZIP ファイルがダウンロードされ、fuel/packages/packagename に解凍されます。 78 |

79 | 80 |
$ php oil package install test-package --direct
 81 | 	Downloading package: http://github.com/philsturgeon/fuel-test-package/zipball/master
 82 | 	DOCROOT/fuel/packages/test-package/LICENSE.txt
 83 | 	DOCROOT/fuel/packages/test-package/README
 84 | 	DOCROOT/fuel/packages/test-package/classes/association.php
 85 | 	DOCROOT/fuel/packages/test-package/classes/belongsto.php
 86 | 	DOCROOT/fuel/packages/test-package/classes/exception.php
 87 | 	DOCROOT/fuel/packages/test-package/classes/hasmany.php
 88 | 	DOCROOT/fuel/packages/test-package/classes/hasone.php
 89 | 	DOCROOT/fuel/packages/test-package/classes/model.php
90 | 91 |

アンインストール

92 | 93 |
$ php oil package uninstall test-package
 94 | Uninstalling package "test-package"
95 | 96 |

注意: インストールとは違い、Git がインストールされている場合は違いはありません。すべて同様に削除されます。

97 | 98 |

更新

99 | 100 |

Coming soon...

101 | 102 |
103 | 104 |
105 | 106 | 112 |
113 | 114 | 115 | -------------------------------------------------------------------------------- /packages/oil/refine.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Generate - Oil パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |
48 | 49 |

リファイン

50 | 51 |

52 | リファインはタスクを実行するためのツールです。名称の理由は、燃料を生成するためにオイルを "精製する" ことに由来しています。 53 | どのように作成するかやどのように使用するかについては Tasks についての詳細を読んでください。 54 |

55 | 56 |

含まれているタスク

57 | 58 |

59 | FuelPHP にはあなたの手助けになる、いくつかのタスクが付属しています。 60 |

61 |
    62 |
  • install: 新しく FuelPHP をインストールできます。リポジトリをクローンするのに git が必要です。
  • 63 |
  • migrate: コマンドラインからデータベースのマイグレーションを実行します。
  • 64 |
  • session: Session クラスに必要なデータベースのテーブルを操作できます。
  • 65 |
  • fromdb: 存在するデータベースのテーブルから、モデル、マイグレーション、スキャフォールディング、管理者コードを生成できます。
  • 66 |
67 | 68 |

69 | ヘルプコマンドをつけて実行する時、全てのタスクは、いくつかのヘルプ情報を提供します。 70 |

71 |
$ php oil refine <taskname>:help
72 |

または

73 |
$ php oil refine <taskname --help
74 | 75 |

76 | 77 |

ロボットと名付けたサンプルタスクが fuel/app/tasks/にあります。

78 | 79 |
$ php oil refine robots
 80 | 
 81 | 					"KILL ALL HUMANS!"
 82 | 			          _____     /
 83 | 			         /_____\
 84 | 			    ____[\*---*/]____
 85 | 			   /\ #\ \_____/ /# /\
 86 | 			  /  \# \_.---._/ #/  \
 87 | 			 /   /|\  |   |  /|\   \
 88 | 			/___/ | | |   | | | \___\
 89 | 			|  |  | | |---| | |  |  |
 90 | 			|__|  \_| |_#_| |_/  |__|
 91 | 			//\\  <\ _//^\\_ />  //\\
 92 | 			\||/  |\//// \\\\/|  \||/
 93 | 			      |   |   |   |
 94 | 			      |---|   |---|
 95 | 			      |---|   |---|
 96 | 			      |   |   |   |
 97 | 			      |___|   |___|
 98 | 			      /   \   /   \
 99 | 			     |_____| |_____|
100 | 			     |HHHHH| |HHHHH|
101 | 
102 | 103 |

104 | 世界で最も有用なサンプルというわけではありませんが、有用なサンプルとして動作します。 105 | しかし、よりインタラクティブにするために、また cron ジョブのような基本的なモデルの相互作用を実行するために 106 | Cli クラス を実行することができます。 107 |

108 | 109 |
110 | 111 |
112 | 113 | 119 |
120 | 121 | 122 | -------------------------------------------------------------------------------- /packages/oil/server.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Server - Oil パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |
47 | 48 |

サーバ

49 | 50 |

51 | oil サーバを実行すれば、フルスペックの Web サーバをインストールする必要がありません! それは、PHP 5.4 の組み込み 52 | Web サーバを使います。コマンドラインからサーバを立ち上げ、指定したホスト名とポート番号 (デフォルトでは 53 | http://localhost:8000) でブラウザからアクセスしてください。 54 |

55 | 56 |
$ php oil server
57 | Listening on http://localhost:8000
58 | Document root is public/
59 | Press Ctrl-C to quit.
60 | 61 |

使い終わったら、Ctrl-C でサーバを終了します。

62 | 63 |
64 | 65 |
66 | 67 | 73 |
74 | 75 | 76 | -------------------------------------------------------------------------------- /packages/orm/intro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | はじめに - Orm パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

Orm

47 | 48 |

Orm は Object Relational Mapper の頭文字です。 49 | データベースの行をオブジェクトにマッピングする、これらのオブジェクト間の関係を確立させるという 2 つの機能があります。 50 | 51 | Active Record パターンをよく踏襲していますが、他のシステムの影響も受けています。 52 |

53 | 54 |
55 |

はじめに

56 | 57 |

他の多くの ActiveRecord の実装とは異なり、小型で高速、さらに死ぬほど簡単に使えます。 58 | それは簡単に、あなたのデータベースの項目を作成したり更新したり削除したりすることができるでしょう。 59 | あなたのために、Orm がすべてのハードワークを行います。

60 |
61 | 62 |
63 |

インストール

64 | 65 |

Orm パッケージは Fuel の配布物に含まれています。 設定で有効にするだけで利用できます。

66 |
'always_load' => array(
 67 | 	'packages' => array(
 68 | 		'orm',
 69 | 	),
 70 | ),
71 |
72 | 73 |
74 |

トラブルシューティング

75 | 76 |

一般的な問題とよくある質問。

77 | 78 |

リレーション/外部キーが保存されていません。 (1)

79 |

リレーションシップの間違った型を使用している場合に、最も頻繁に起こります。 特に Has-one と 80 | Belongs-to に混ざってしまいがちです。 ドキュメントの例を再読し、 81 | あなたが正しくリレーションタイプを使用していることと、すべてが正しく設定されているかどうかを確認してください。

82 | 83 |

オブジェクトを関連付けることができません (2)

84 |

あなたのモデルが Orm\Model を継承し、 Model_Crud を継承していない事を確認してください。

85 | 86 |

package/module にある私の関連するモデルが見つからないという例外を受け取りました

87 |

パッケージまたはモジュールがFuelによってロードされていることを確認してください。 88 | そうでなければオートローダーは、クラスを見つけることができません。
89 | そして、関連するモデルを "model_to" に設定するときは 90 | 同じ名前空間に属している場合であっても、名前空間を含めた完全なクラス名を設定してください。 91 | 文字列内のクラス名は、常にグローバルコンテキストから取得されます。現在の名前空間コンテキストは関係ありません。

92 | 93 |

Orm\FrozenObject という例外を受け取りました

94 |

オブジェクトは、データベースの保存中に変更することはできません。これは連携によってループする保存や、 95 | すでに保存してあるオブジェクトをもう一度保存することを防ぐためです。 96 | これは通常の使用時に起きるべきではありませんし、たいていは間違ったリレーションの設定によって起きます。
97 | また安定リリースを使っていない場合に、バグにより引き起こされることもあります。

98 | 99 |

Limit 及び Offset を定義したが、結果が正しくありません

100 |

ORM は常にクエリの結果に一貫性があることを確認します。関連するモデルが含まれているクエリを実行すると、 101 | すべての関連する結果がフェッチされたかどうかを確認するためにサブクエリが生成されます。 102 | これは、 limit で定義した以上のレコードがフェッチされることを意味しています。 103 | 一旦不完全な結果セットを操作し始めると、関連するモデルにとてもわるい影響が起こるためです。

104 |

もしあなたがその結果を絶対に操作しないことが確信できる場合(たとえば pagination のみに利用する場合) 105 | 代わりに rows_limit()rows_offset() を利用する事で 106 | クエリに対して limit, offset を強制することができます。

107 |
108 | 109 |
110 | 111 | 117 |
118 | 119 | 120 | -------------------------------------------------------------------------------- /packages/orm/observers/creating.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Creating - Observers - Orm パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Orm

48 | 49 |

ORMはオブジェクト 50 | 関係マッピングの略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、 51 | それはあなたがそれらのオブジェクト間の関係を確立することができます。
52 | それは 53 | Active Record パターンに従いますが、 他のシステムに影響も受けます。

54 | 55 |
56 |

オブザーバ:あなた自身での作成

57 | 58 |

完全なクラス名 (名前空間を含む) をモデルのオブザーバ・プロパティに加えることで、オブザーバとして任意のクラスを 59 | 追加することができます。オブザーバとして利用できるクラスを作成するには 2 つの方法があります:

60 | 61 |

Orm\Observer クラスを拡張

62 | 63 |

Orm\Observer を拡張する新しいクラスを作成し、イベントがあなたのオブザーバに作用するようにメソッドを作成してください。 64 | 下記の例では、 after_insert に対して作用します。 65 | メソッドへは、それを実行する対象モデルのインスタンスが渡されます。

66 | 67 |
class Observer_Something extends Orm\Observer
 68 | {
 69 | 
 70 | 	public function after_insert(Orm\Model $model)
 71 | 	{
 72 | 		\Log::info('Succesfully created new object of class '.get_class($model));
 73 | 	}
 74 | }
75 | 76 |

Orm\Observer タイプの拡張機能は、デフォルトでシングルトンなので、 instance() メソッドや 77 | $_instance プロパティ を利用できなくなるか、もしくは動かなくなるでしょう。 78 | そのため、このメソッドは、静的もしくは非静的のどちらでもよいでしょう。

79 | 80 |

orm_notify() メソッドを持つ

81 | 82 |

あなたが Orm\Observer クラスを拡張している場合、イベントと一致しているかどうか確認され、 83 | 可能であれば継承した orm_notify() メソッドを呼び出します。しかし、 orm_notify() 84 | メソッドを含んでいるのであれば、あなたは任意のクラスをオブザーバとして利用することが出来ます。 85 | つまり、イベント名とモデルインスタンスが渡され、イベントから呼び出されます。

86 | 87 |
class Some_Other_Class
 88 | {
 89 | 
 90 | 	// それは orm_notify メソッドの前後に、多くのメソッドとプロパティを持つことができます。
 91 | 
 92 | 	public static function orm_notify(Orm\Model $model, $event)
 93 | 	{
 94 | 		\Log::info('I was notified of the event '.$event.' on a Model of class '.get_class($model));
 95 | 	}
 96 | }
97 |

イベント名

98 | 99 |
    100 |
  • after_create は、オブジェクトが作成された時に __construct() メソッドから呼び出されます
  • 101 |
  • after_load は、オブジェクトがデータベースからロードされた時に __construct() メソッドから呼び出されます
  • 102 |
  • before_save は、何かが行われる前に save() メソッドから呼び出されます
  • 103 |
  • after_save は、保存が完了した後に save() メソッドから呼び出されます
  • 104 |
  • before_insert は、オブジェクトが最初にデータベースへ保存される前に呼び出されます
  • 105 |
  • after_insert は、オブジェクトが最初にデータベースへ保存された後に呼び出されます
  • 106 |
  • before_update は、オブジェクトがデータベースに保存される前に呼び出されます (初回を除く)
  • 107 |
  • after_update は、オブジェクトがデータベースに保存された後呼び出されます (初回を除く)
  • 108 |
  • before_delete は、あなたがデータベースからオブジェクトを削除するときに呼び出されます
  • 109 |
  • after_delete は、あなたがデータベースからオブジェクトを削除した後に呼び出されます
  • 110 |
  • after_clone は、オブジェクトが正常にクローン化された後に呼び出されます
  • 111 |
112 | 113 |

114 | オブジェクトが変更された場合にのみ before_insertbefore_update は引き起こされます。イベントをオブジェクトが変更されていない場合でも引き起こす必要がある場合 (例: $_FILES のデータを処理するため) 、あなたは before_save を利用する必要があります。 115 |

116 | 117 |
118 | 119 |
120 | 121 | 127 |
128 | 129 | 130 | -------------------------------------------------------------------------------- /packages/orm/observers/intro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | はじめに - Obervers - Orm パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

Orm

48 | 49 |

ORMはオブジェクト 50 | 関係マッピングの略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、 51 | それはあなたがそれらのオブジェクト間の関係を確立することができます。
52 | それは 53 | Active Record パターンに従いますが、 他のシステムに影響も受けます。

54 | 55 |
56 |

オブザーバ:はじめに

57 | 58 |

イベントベースのシステムは、特定のイベントに動作を追加できるようにします。 イベントが観測されると 59 | ORM は自動的にそれらを行うためには何があるのかどうかを確認するために追加されたすべてのオブザーバを呼び出します

60 | 61 | 66 |
67 | 68 |
69 |

モデルにオブザーバを追加

70 | 71 |

あなたは 2 つの方法でオブザーバを追加することができます: オブザーバをすべてのイベントのために、 72 | またはオブザーバが呼び出す名前と多数の特定のイベントとしてのオブザーバを呼び出させる場合に、名前を加えてください。
73 | オブザーバがモデルと同じ名前空間にあって、 Observer_ で前に置かれるとき、 74 | あなたは "Observer_" プレフィックスを無視することができます。他の全てのケースでは、あなたは完全な classname を提供しなければなりません。

75 | 76 |
class Model_Article
77 | {
78 | 	protected static $_observers = array(
79 | 		'example', // 全てのイベントで、 Observer_Example クラスを呼び出します
80 | 		'Orm\\Observer_CreatedOn' => array(
81 | 			'events' => array('before_insert'), // before_insert イベントのときだけ Orm\Observer_CreatedOn クラスを呼び出します
82 | 		)
83 | 	);
84 | }
85 |
86 | 87 |
88 | 89 | 95 |
96 | 97 | 98 | -------------------------------------------------------------------------------- /packages/orm/relations/belongs_to.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Belongs To - Relations - Orm パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

Orm

47 | 48 |

ORMはオブジェクト 49 | 関係マッピングの略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、 50 | それはあなたがそれらのオブジェクト間の関係を確立することができます。
51 | それは 52 | Active Record パターンに従いますが、 他のシステムに影響も受けます。

53 | 54 |
55 |

リレーション: Belongs To

56 | 57 |

そのテーブルに保持関係の主キーを持つ、1関連オブジェクトに属します。 58 | これは、HasOneまたは HasMany関係の反対側です。

59 | 60 |

61 | 62 |

Model_Post と、それに属している Model_Comment があるとしましょう。 63 | (このとき Model_Post に対して comments は 1 対多 の関係にあります) Model_Post の ID は、 64 | Model_Comment インスタンスのテーブルに保存されます。 これは、comments テーブルは 65 | カラム post_id(または、設定した他の何か)があることを意味します。あなたがこのデフォルトに従う場合に必要な作業は、Model_Comment の静的プロパティの 66 | $_belongs_to'post' を追加するだけです:

67 | 68 |
protected static $_belongs_to = array('post');
69 | 70 |

以下は Belongs To 関係を確立し、切断するための例です:

71 | 72 |
// 両方のメインと関連オブジェクトをnewする:
 73 | $comment = new Model_Comment();
 74 | $comment->post = new Model_Post();
 75 | $comment->save();
 76 | 
 77 | // 両方のメインと関連オブジェクトがすでに存在している
 78 | $comment = Model_Comment::find(6);
 79 | $comment->post = Model_Post::find(1);
 80 | $comment->save();
 81 | 
 82 | // 上に確立された関係を切断する。
 83 | $comment = Model_Comment::find(6);
 84 | $comment->post = null;
 85 | $comment->save();
86 | 87 |

デフォルト値を持つ完全な設定例

88 | 89 |
// postに属しているModel_Commentで
 90 | protected static $_belongs_to = array(
 91 | 	'post' => array(
 92 | 		'key_from' => 'post_id',
 93 | 		'model_to' => 'Model_Post',
 94 | 		'key_to' => 'id',
 95 | 		'cascade_save' => true,
 96 | 		'cascade_delete' => false,
 97 | 	)
 98 | );
99 |
100 | 101 |
102 | 103 | 109 |
110 | 111 | 112 | -------------------------------------------------------------------------------- /packages/orm/relations/has_many.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Has Many - Relations - Orm パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

Orm

47 | 48 |

ORMはオブジェクト 49 | 関係マッピングの略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、 50 | それはあなたがそれらのオブジェクト間の関係を確立することができます。
51 | それは 52 | Active Record パターンに従いますが、 他のシステムに影響も受けます。

53 | 54 |
55 |

リレーション: Has Many

56 | 57 |

別のモデルに1対多の関係を指定します。対象モデルは、逆相関関係を実現するために現在のモデルへの参照 58 | "Belongs To" 59 | を含める必要があります。

60 | 61 |

62 | 63 |

Model_Postと、それとhas many関係のModel_Commentがあるとします。 64 | (そしてそれは次に、postに属しています。) Model_PostのIDは、独自のテーブルで 65 | Model_Commentインスタンスに保存されます。 postsテーブルがコメントを言及していないでしょうが、commentsテーブルがカラムpost_id 66 | (または、設定した他の何か)を持っていることを意味します。 67 | あなたがデフォルトに保つ場合に必要なことは'commentへ 68 | Model_Userの静的プロパティ$_has_manyを追加するだけです:

69 | 70 |
protected static $_has_many = array('comments');
71 | 72 |

以下はhas-manyのリレーションを確立し、切断のための例:

73 | 74 |
// 両方のメインと関連オブジェクトをnewする:
 75 | $post = new Model_Post();
 76 | $post->comments[] = new Model_Comment();
 77 | $post->save();
 78 | 
 79 | // 両方のメインと関連オブジェクトがすでに存在しています。
 80 | $post = Model_Post::find(1);
 81 | $post->comments[6] = Model_Comment::find(6); // それを割り当てるcomments[6]が必要ですが、推奨されていません。
 82 | $post->save();
 83 | 
 84 | // 上に確立された関係を切断する。
 85 | $post = Model_Post::find(1);
 86 | unset($post->comments[6]);
 87 | $post->save();
88 | 89 |

デフォルト値を持つ完全な設定例

90 | 91 |
// 多くのコメントを持つModel_Postで
 92 | protected static $_has_many = array(
 93 | 	'comments' => array(
 94 | 		'key_from' => 'id',
 95 | 		'model_to' => 'Model_Comment',
 96 | 		'key_to' => 'post_id',
 97 | 		'cascade_save' => true,
 98 | 		'cascade_delete' => false,
 99 | 	)
100 | );
101 |
102 | 103 |
104 | 105 | 111 |
112 | 113 | 114 | -------------------------------------------------------------------------------- /packages/orm/relations/has_one.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Has One - Relations - Orm パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

Orm

47 | 48 |

ORMはオブジェクト 49 | 関係マッピングの略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、 50 | それはあなたがそれらのオブジェクト間の関係を確立することができます。
51 | それは 52 | Active Record パターンに従いますが、 他のシステムに影響も受けます。

53 | 54 |
55 |

リレーション: Has One

56 | 57 |

もう 1 つのモデルとの1対1の関係を指定します。 対象モデルは、 58 | 反比例の関係を実現するために現在のモデルへの参照"Belongs To" 59 | を含める必要があります。

60 | 61 |

62 | 63 |

モデル Model_User と、そして has_one 関係にある Model_Profile があるとします 64 | (そしてそれは次に、ユーザーに属しています)。Model_User の ID は、独自のテーブルで 65 | Model_Profile インスタンスに保存されます。 user テーブルは、プロファイルを言及ししていませんが 66 | profiles テーブルは、カラム user_id を(または、設定他の何か)があることを意味します。 67 | あなたがこのデフォルトに従う場合に必要な作業は、Model_User の静的プロパティ $_has_one に 68 | 'profile' を追加することだけです。

69 | 70 |
protected static $_has_one = array('profile');
71 | 72 |

以下Has Oneの関係を確立し、切断するための例です:

73 | 74 |
// 両方のメインと関連オブジェクトをnewします:
 75 | $user = new Model_User();
 76 | $user->profile = new Model_Profile();
 77 | $user->save();
 78 | 
 79 | // 両方のメインと関連オブジェクトがすでに存在しています。
 80 | $user = Model_User::find(6);
 81 | $user->profile = Model_Profile::find(1);
 82 | $user->save();
 83 | 
 84 | // 上記の確立された関係を切断します。
 85 | $user = Model_User::find(6);
 86 | $user->profile = null;
 87 | $user->save();
88 | 89 |

デフォルト値を持つ完全な設定例

90 | 91 |
// 1つのprofileを持っているModel_User
 92 | protected static $_has_one = array(
 93 | 	'profile' => array(
 94 | 		'key_from' => 'id',
 95 | 		'model_to' => 'Model_Profile',
 96 | 		'key_to' => 'user_id',
 97 | 		'cascade_save' => true,
 98 | 		'cascade_delete' => false,
 99 | 	)
100 | );
101 |
102 | 103 |
104 | 105 | 111 |
112 | 113 | 114 | -------------------------------------------------------------------------------- /packages/parser/intro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | はじめに - Parser パッケージ - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |

パーサパッケージ

47 | 48 |

パーサパッケージは、コアのビュークラスを拡張し、任意のテンプレートパーサを使用可能にします。

49 | 50 |
51 |

はじめに

52 | 53 |

パーサパッケージは、ビューを操作する方法を変えずに、 54 | 生PHPの代わりに任意のテンプレートパーサを使用可能にします。対応しているパッケージには、 55 | Dwoo, Haml, Jade, Lex, Markdown, Mustache, PHPTal, Smarty そして Twig があります。

56 | 57 |

どのパーサが使用されるかは、ビューファイルのファイル拡張子によって決められます。PHP がパースする標準のビューは 58 | ファイル拡張子 .php を使用します。.php はデフォルトの拡張子で、もし拡張子が指定されない場合、 59 | .php 拡張子を使用します。

60 |

他のテンプレートパーサは、それぞれの拡張子を持っています。たとえば Mustache は foo.mustache を使用し、 61 | Dwoo は foo.tpl を使用し、Lex は foo.lex を使用し、などです。 62 | デフォルトの拡張子は config で設定できます。

63 | 64 |
65 |

インストール

66 | 67 |

パーサパッケージは Fuel のダウンロードに含まれています。これを使用するには 、まず config に下記を 68 | 追加して利用可能にしなければなりません。

69 |
'always_load' => array(
 70 | 	'packages' => array(
 71 | 		'parser',
 72 | 	),
 73 | ),
74 |

サポートされるパーサのいずれかを使用可能にするには、composerでインストールする必要があります。 75 | ライブラリを、自分のプロジェクトの composer.json に追加し、php composer.phar install を実行してください。

76 | 77 |
{
 78 |     "require": {
 79 |         "dwoo/dwoo" : "*",
 80 |         "mustache/mustache" : "*",
 81 |         "smarty/smarty" : "*",
 82 |         "twig/twig" : "*",
 83 |         "mthaml/mthaml": "*",
 84 | 		"pyrocms/lex": "*"
 85 |     }
 86 | }
 87 | 
88 | 89 |

Markdown パーサはデフォルトでインストールされています。Markdown は FuelPHP のコアクラス Markdown で使用されています。

90 | 91 |

composer でインストールできないライブラリは、APPPATH/vendor/lib_name 92 | (lib_name は大文字) にインストールすることを想定しています。ライブラリは自分でダウンロードしてください。大文字小文字を変更しないでください。 93 | vendor/lib_name ディレクトリ内を可能な限りオリジナルと同じにして、更新しやすいようにしてください 94 | (オートローダにも関係することがあります)。

95 |
96 | 97 |
98 |

設定

99 | 100 |

パーサは config/parser.php ファイルで設定できます。以下のキーを使用します。

101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 118 | 119 | 120 |
パラメータデフォルト説明
extensionsarray(拡張子、パースするビュークラス、の配列) 115 | 有効な拡張子と対応するビュードライバを定義します。
116 | ex: 'md' => 'View_Markdown' 117 |
121 |

サポートされているビュードライバにはすべて、設定ファイル内に、ドライバ名と同じ名前の配列があり、 122 | ドライバ固有の設定がリストアップされています。 123 | (そのドライバにサポートされているアイテムのみです。 124 | パーサがサポートする設定のうち、一部かもしれません)

125 |
126 | 127 |
128 |

ランタイム設定

129 | 130 |

全てのドライバは、現在のパーサオブジェクトにアクセスする parser() メソッドを有します。 131 | これは必須条件 (requirement) ではなく規約 (convention) ですので、サードパーティ製ドライバによって 132 | 異なることがあります。

133 | 134 |
// 特定の Smarty テンプレートのキャッシュをクリアする。
135 | $view = View::forge('example.smarty');
136 | $view->parser()->clearCache('example.smarty');
137 | 
138 | // 静的な使い方の例
139 | View_Smarty::parser()->clearCache('example.smarty');
140 | 141 |

ドライバにカスタム設定を行いたい場合にも、役立つかもしれません。

142 |
143 | 144 |
145 | 146 |
147 | 148 | 154 |
155 | 156 | 157 | -------------------------------------------------------------------------------- /requirements.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 要件 - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

要件

48 |
Web サーバ
49 |
    50 |
  • 任意の Web サーバ。Fuel は、Apache、IIS そして Nginx でテストされています。
  • 51 |
  • *nix や Windows 等の主なオペレーティングシステム上で動作します。
  • 52 |
53 |
PHP バージョン
54 |
    55 |
  • バージョン 5.3.3 以降が必要です。 or greater is required. PHP 7 is fully supported.
  • 56 |
57 |
PHP エクステンション
58 |

59 | Fuel は、PHP が「エクステンション」として定義する機能を使用します。互換性の問題を避けるため、 60 | Fuel は PHP Web サイト に記載されている PHP コードの一部であるエクステンションのみ使用します。 61 | (システム管理者が手作業でインストールする必要のある) PECL レポジトリの一部であるエクステンションが使用される場合は、Fuel はエクステンションが存在すれば使用しますが、無くても動作します。 62 |

63 |

使用されるエクステンションと、エクステンションを使用するクラスの一覧です。

64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 76 | 77 | 78 | 79 | 80 | 82 | 83 | 84 | 85 | 86 | 88 | 89 | 90 |
エクステンション使用箇所コメント
fileinfoUploadドキュメント
75 | Windows プラットフォームでは、DLL を手作業でインストールする必要があるかもしれないので、注意してください。
mbstringn/aドキュメント
81 | これがない場合、フレームワークはマルチバイトをサポートしません。MBSTRING 定数をチェックすることで、マルチバイトサポートが有効かどうか確認できます。
mcryptCryptドキュメント
87 | これがない場合、PHPSecLib を使用してこの機能をエミュレートします。
91 |
PHPUnit
92 |
    93 |
  • ユニットテストを実行するためには、PHPUnit バージョン 3.7 以上が必要です。
  • 94 |
95 | 96 | 97 |
    98 |
  • Web サーバ - Apache 2.4+、*nix 上で動作。
  • 99 |
  • mod_rewrite - URL から index.php を取り除くため。
  • 100 |
101 | 102 |
103 | 104 | 110 |
111 | 112 | 113 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Template - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

TODO: Write home page copy.

48 | 49 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent non urna vitae erat ultricies malesuada. Phasellus ut semper mauris. Morbi lobortis sem eu tortor fringilla cursus. Nullam consequat commodo massa, vitae aliquet purus pretium vel. Pellentesque eleifend gravida lacus, ac ullamcorper sem suscipit vel. Mauris nec ultrices felis. Suspendisse aliquet, augue vitae sollicitudin pharetra, ante dolor imperdiet risus, sed tincidunt sem leo vestibulum leo. Ut quis quam arcu, non varius sapien. Morbi pharetra, lorem in commodo imperdiet, velit sem ultrices nisl, ultrices accumsan ante felis ut turpis. Fusce in nibh nec orci consequat molestie. Nunc semper congue vestibulum. Aliquam ac auctor felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

50 | 51 |

Suspendisse bibendum sapien sed justo tincidunt dapibus. Duis non iaculis lorem. Suspendisse est ante, volutpat quis hendrerit pulvinar, pharetra vel tortor. Suspendisse sed augue tortor. Aliquam erat volutpat. Phasellus vel enim dui, quis faucibus augue. Suspendisse consequat sagittis sagittis. Duis semper tempor ante et ultrices. Donec vulputate nibh in urna tempor vel feugiat tortor imperdiet. Donec condimentum augue a eros tincidunt sagittis. Nulla sit amet magna enim, at ultricies ipsum. Morbi non ante vitae tellus interdum auctor quis sed augue. Phasellus lacus erat, gravida ut gravida eget, accumsan ut enim. Nunc at dui neque. In non libero in elit pretium aliquet sit amet sed massa. Nunc ut augue sit amet sem suscipit malesuada eu id ante. Proin congue, nisl a imperdiet tincidunt, nunc dui posuere metus, nec ornare arcu felis et justo. Praesent imperdiet, nulla eu consequat facilisis, velit nunc congue metus, non luctus lacus sapien nec nunc. Aliquam euismod lacus quis justo consequat condimentum. Morbi sem elit, gravida sed tempor fermentum, euismod nec nisi.

52 | 53 |
Code would go here...
54 | 55 |
56 | 57 | 63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /vendor/htmlawed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Vendor additions - htmLawed - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

htmLawed

48 | 49 |

はじめに

50 | 51 |

52 | htmLawed は高度にカスタマイズ可能な単一ファイルの PHP スクリプトで、テキストをセキュアにするため、そして、標準準拠、管理方針準拠にするために使われます。 53 | 対象となるテキストは、 HTML4 、 XHTML 1 と 1.1 、一般的な XML ドキュメントの body です。言い方を変えれば、 htmLawed は設定可能な入力 (X)HTML フィルタであり、 54 | プロセッサ、ろ過器、サニタイザー、整形ツール等々であり、そして HTMLTidy アプリケーションに代わるものです。 55 |

56 |

57 | テキスト内の HTML コードが標準に準拠していることを保証し、セキュリティの脆弱性が入り込むことを避け、 58 | Web ページの美学やデザインやレイアウトを壊さないことを保証するためには、入力テキストへの規制が必要となります。 59 | このために htmLawed が行うのは、例えば次のようなことです。タグがバランスよく適切にネストされた整形式の HTML を生成する、 60 | クロスサイトスクリプティング (XSS) 攻撃に使われるおそれのあるコードを無効化する、特定の HTML 要素/タグ/属性だけを使用可能にする。 61 |

62 | 63 |

ドキュメンテーション

64 | 65 |

htmLawed ドキュメントは ここで見る事ができます。

66 | 67 |

FuelPHP での使用

68 | 69 |

70 | htmLawed のベンダーパッケージは、 FuelPHP の Security クラスで使用されています。ユーザからの入力をきれいにするために使われます。 71 |

72 | 73 |

アプリケーションからの使い方

74 | 75 |

76 | Security::xss_clean() メソッドを使って htmLawed にアクセスできます。 77 |

78 | 79 |
80 | 81 | 87 |
88 | 89 | 90 | -------------------------------------------------------------------------------- /vendor/intro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Vendor additions - はじめに - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

サードパーティベンダーのパッケージ

48 | 49 |

はじめに

50 | 51 |

52 | FuelPHP コアはいくつかのベンダーのパッケージがあらかじめインストールされています。 53 | ベンダーパッケージは FuelPHP コアに統合されている外部の第三者からのライブラリです。 54 |

55 | 56 |

プリインストールされたパッケージ

57 | 58 | 63 | 64 |

Composer パッケージ

65 | 66 | 71 |
72 | 73 | 79 |
80 | 81 | 82 | -------------------------------------------------------------------------------- /vendor/markdown.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Vendor additions - markdown - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

markdown

48 | 49 |

はじめに

50 | 51 |

52 | "Markdown" とは 2 つのことを指します。プレーンテキストをマークアップするための構文と、マークアップしたプレーンテキストを Web 上で公開するために HTML に変換するためのソフトウェアツールです。 53 |

54 |

55 | Markdown の構文を使用すると、自然に文章を書くだけで、それを HTML タグを使用せずに整形することができます。さらに重要なこと: Markdown フォーマットで書くと、 56 | 人にとって読みやすいテキストになり、それはそのまま Markdown 文書としても公開可能になります。 57 | テキストで整形した電子メールを使用しているなら、すでに構文の一部を知っていると言えます。 58 |

59 | 60 |

ドキュメンテーション

61 | 62 |

オリジナルのドキュメントは こちらです。

63 | 64 |

FuelPHP での使用

65 | 66 |

67 | Markdown のベンダーパッケージは、 FuelPHP の Markdown クラスで使用されています。 markdown 構文で文字列を表示するために使われます。 68 |

69 | 70 |

アプリケーションからの使い方

71 | 72 |

73 | Markdown::parse() メソッドを介して markdown にアクセスすることができます。 74 |

75 | 76 |
77 | 78 | 84 |
85 | 86 | 87 | -------------------------------------------------------------------------------- /vendor/phpquickprofiler.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Vendor additions - PHPQuickProfiler - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

PHPQuickProfiler

48 | 49 |

はじめに

50 | 51 |

52 | PHPQuickProfiler は小さなツール( PHP 用の Firebug といった感じ)で、プロファイリングやデバッグ関連の情報を開発者に提供します。 53 | プログラム上の大量のオーバーヘッドをコードに追加する必要はありません。 54 | Config 設定を一箇所 true に切り替えるだけで、より速くより一貫したコードレビュー体験を手助けするための 55 | 自動化されたツールにアクセスできます。 56 |

57 | 58 |

ドキュメンテーション

59 | 60 |

オリジナルのドキュメントは こちらです。

61 | 62 |

FuelPHP での使用

63 | 64 |

65 | PHPQuickProfiler のベンダーパッケージは、FuelPHP の Profiler クラスで使用されています。プロファイラを有効にした際の、プロファイリング結果を表示するために使われます。 66 |

67 | 68 |

アプリケーションからの使い方

69 | 70 |

71 | Profiler クラスのメソッドを使って PHPQuickProfiler にデータを追加できます。 72 |

73 | 74 |
75 | 76 | 82 |
83 | 84 | 85 | -------------------------------------------------------------------------------- /vendor/phpseclib.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Vendor additions - PHPSecLib - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

PHPSecLib

48 | 49 |

はじめに

50 | 51 |

52 | PHP のセキュリティで保護された通信ライブラリは、任意精度の整数の LGPL ライセンスの純粋な PHP の実装が含まれています, 53 | PKCS#1 (v2.1) に帰順した RSA, DES, 3DES, RC4, Rijndael, AES, SSH-1, SSH-2, そして SFTP です。この本はそれらを使用する方法について説明します。 54 |

55 | 56 |

ドキュメンテーション

57 | 58 |

オリジナルの PHPSecLib ドキュメントは こちらです。

59 | 60 |

FuelPHP の使用

61 | 62 |

63 | PHPSecLib ベンダのパッケージは、安全なハッシュを生成する為に、 Crypt クラスで FuelPHP で使用されています。 PBKDF2 を使用して認証パッケージにされています。 64 |

65 | 66 |

アプリケーションの使用状況

67 | 68 |

69 | アプリケーションで使用するため PHPSecLib パッケージは名前空間が付き、オートローダで、使いやすいライブラリになっています。 70 | アプリケーションから直接使用することができます。 71 |

72 |
<?php
 73 | /**
 74 |  * SSHログインを行うサンプルコントローラ
 75 |  */
 76 | 
 77 | class Controller_Ssh extends Controller
 78 | {
 79 | 	public function action_index()
 80 | 	{
 81 | 				// サーバーに接続する
 82 | 		$ssh = new \phpseclib\Net\SSH2('myserver.example.org');
 83 | 
 84 | 		// ログイン
 85 | 		if ( ! $ssh->login('username', 'password'))
 86 | 		{
 87 | 			throw new \Exception('ssh login failed');
 88 | 		}
 89 | 
 90 | 		// ディレクトリリストをViewに渡す。
 91 | 		return View::forge('ssh/dirinfo', array(
 92 | 			'pwd' => $ssh->exec('pwd'),
 93 | 			'info' => $ssh->exec('ls -la'),
 94 | 		));
 95 | 	}
 96 | }
 97 | 			
98 | 99 |
100 | 101 | 107 |
108 | 109 | 110 | -------------------------------------------------------------------------------- /vendor/spyc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | Vendor additions - spyc - FuelPHP ドキュメント 14 | 15 | 16 |
17 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |

spyc

48 | 49 |

はじめに

50 | 51 |

52 | spyc は、PHP 用のシンプルな YAML パーサライブラリです。 53 |

54 |

55 | YAML(tm) は、 Unicode ベースのデータ直列化言語で、アジャイルプログラミング言語の一般的なネイティブデータ構造を中心に設計されていて、言語を越えた、人に優しいものです。 56 | とても有用であることから、プログラミングに必要な設定ファイル,インターネットメッセージングに使われています。 57 | 文字の Unicode 標準に準拠と共に、 58 | YAML 仕様は YAML バージョン 1.1 を理解し、 59 | プログラムがそのプロセス YAML 情報を作成するために必要なすべての情報を提供します。 60 |

61 | 62 |

ドキュメンテーション

63 | 64 |

あなたは、元の spyc ドキュメントを見つけることができます →こちら.

65 | 66 |

FuelPHP の使用

67 | 68 |

69 | spyc ベンダーのパッケージが YAML 形式でファイルをロードするためには、 Config と言語クラスのドライバで FuelPHP によって使用されます。 70 |

71 | 72 |

アプリケーションの使用

73 | 74 |

75 | spyc パッケージに直接アクセスすることはありません。 76 |

77 | 78 |
79 | 80 | 86 |
87 | 88 | 89 | --------------------------------------------------------------------------------