メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
apricot:public文書の過去の版を表示しています。
Apricot 公開フォルダ
公開フォルダの作成
以下に示すようにプロジェクトフォルダ下に、公開用のフォルダ
public
を作成し、その下に4つのフォルダ(css
,img
,js
,resources
)と2つの空のファイル(.htaccess
,index.php
)を作成します。/apricot
apricot [プロジェクト] | ├── public [公開フォルダ] | | | ├── css/ [css保存用] | ├── img/ [画像保存用] | ├── js/ [JavaScript保存用] | ├── resources/ [ライブラリリソース保存用] | ├── .htaccess [Apacheの設定] | └── index.php [フロントコントローラ]
.htaccess
アプリケーションへの全てのリクエストを1つのフロントコントローラ(index.php)で処理する為に、.htaccess を以下のように編集します。
apricot/public
- .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [L] </IfModule>
この設定では、ApacheのRewriteEngineを有効にして、publicフォルダ下に実在しないファイル及びフォルダに対するリクエストを全てindex.phpに転送しています。詳しくはApacheのマニュアルを参照して下さい。
index.php(初版)
以下にように index.php を編集します。
/apricot
- index.php
<?php //------------------------------------------------------------------- // オートローダーの登録 //------------------------------------------------------------------- require dirname(__DIR__).'/vendor/autoload.php'; //------------------------------------------------------------------- // パスの設定 //------------------------------------------------------------------- $project_path = dirname(__DIR__); $public_path = __DIR__; //------------------------------------------------------------------- // Debug Write //------------------------------------------------------------------- header("Content-type: text/plain; charset=UTF-8"); echo "project_path : {$project_path}\n"; echo "public_path : {$public_path}\n"; echo "\n"; echo "METHOD : {$_SERVER['REQUEST_METHOD']}\n"; echo "URI : {$_SERVER['REQUEST_URI']}\n";
今の index.php では以下の事を行っています。
- オートローダーの登録
- プロジェクトパスの設定
- 公開パスの登録
こられ全ての設定は、index.phpの存在するフォルダからの相対パスで行われていいる点に注目して下さい。これは、公開フォルダとプロジェクトフォルダの関係が相対的に表現できる場所であれば、どこにでも公開フォルダを設定できることを示しています。(vendorフォルダはプロジェクトフォルダの直下にあることが決められています)
index.phpの起動
ブラウザ上で以下のURLにアクセスしてみて下さい。
http://localhost/ws2019/apricot/public/home
次のように表示されます:
project_path : D:\usr\ws2019\apricot public_path : D:\usr\ws2019\apricot\public METHOD : GET URI : /ws2019/apricot/public/home
apricot/public.1587886915.txt.gz · 最終更新: 2020/04/26 16:41 by y2sunlight
コメント