ホームページ >バックエンド開発 >PHPチュートリアル >PHP シリーズ: PHP Web 開発の基礎、phpweb_PHP チュートリアル
PHP は、動的 Web 開発のためのスクリプト言語です。PHP は、開発パッケージ管理として Composer を使用します。
.NET 開発ではアセンブリの依存関係を管理するために Nuget が使用されるため、これなしではいられないようになりました。幸いなことに、Java には、jar パッケージを管理するための Maven もありますが、現在では、PHP の ibiblio ミラーが利用可能です。 Composer (参考 1) はリソース パッケージの管理に使用されます。
(1) グローバルインストール(参考2)
指定したインストールディレクトリでコマンドラインを実行します:
リーリー指定したインストールディレクトリでコマンドラインを実行します:
リーリー指定したインストールディレクトリを環境変数のシステム変数Pathに追加します。
(2) プロジェクトのインストール
プロジェクトディレクトリでコマンドラインを実行します:
リーリーcomposer.json ファイルを使用して依存関係を構成します。 PHP で一般的なログコンポーネントを設定する方法:
リーリーコマンドラインコマンド php combos.phar install を使用して、依存リソース パッケージをインストールします。グローバルにインストールした場合は、composer install を実行するだけで済みます。
これにより、composer.lock ファイルが生成され、リソース パッケージがベンダー ディレクトリにダウンロードされます。composer.lock ファイルは、依存関係をダウンロードするときに実際に使用されるファイルです。
(3) 依存関係をアップグレードする
プロジェクトは、composer.lock ファイルを使用して依存関係を維持します。新しいバージョンの依存関係を使用する必要がある場合は、必要に応じて、composer.json ファイルを変更し、更新コマンドを実行する必要があります。グローバルインストール: Composer アップデート、プロジェクトインストール使用: php composer.phar update。
(4) リソースパッケージのクエリとミラーリング
http://packagist.org を使用して、.NET の https://www.nuget.org/packages/ や Java の http://search.maven.org/ などのリソース パッケージを取得できます。
http://packagist.phpcomposer.com ミラーを使用し、グローバル設定には次のコマンドライン コマンドを使用できます:
リーリープロジェクト設定では次のコマンドラインを使用します:
リーリーもちろん、最も簡単な方法は、composer.config ファイルを直接変更することです:
リーリー(5)自動読み込み
Composer は、ベンダー ディレクトリ内のすべての依存関係情報を含む autoload.php ファイルを自動的に生成し、維持します。したがって、autoload.php を通じてサードパーティのライブラリを使用する必要があるだけです。例:
リーリー(1) PHP は、C 言語の構文に似たスクリプト言語です。
C または C++ 言語の基礎があれば、多くの概念や構文を直接比較できます。大文字と小文字の区別からコメント、データ型、関数、パラメーターの受け渡し、メンバー参照など。 C/C++/Java/C# システムを学習し、JavaScript スクリプト言語の基礎を学んだ後は、PHP スキルを追加することも自然になります。
(2)PHP は動的型付け言語です。
PHP は C 言語などの厳密に型指定された言語と同じデータ型定義を持ち、サポートされる型も似ています。ただし、PHP の同じ変数は、異なる時点で異なる型のデータを表すことができますが、同時に、各変数は、指定された型の厳密に型指定された言語変数と同等です。したがって、PHP の場合は、動的型という名前がより適切です。 Java/C# などの厳密に型指定された言語を使用することに慣れている場合、動的に型指定されたスクリプト言語に対する不安は常にありますが、PHP の型チェック機能 (is_boolis_integeris_doubleis_stringis_null など) を使用することで、これらの懸念を軽減できます。
(3) PHP はページ ファイル モードで実行されます。
PHP をどのように使用するかに関係なく、PHP はページ ファイルとして実行されます。これは、ブラウザ上で実行される JavaScript ファイルが現在のページに読み込まれたときにのみ参照および実行され、PHP のみが参照および実行されるのと同様です。 include または required を使用すると、メソッドがロードされた後にのみ参照および実行できます。その後 __autoload と spl_autoload を追加しても、ロード参照の性質は変更されません。
(4) PHP には複雑なフレームワークは必要ありません
PHP は Web リクエストを処理するために生まれました。一般に、垂直リクエスト処理、水平認証および認可制御部分を除いて、他の部分は PHP にあまり依存すべきではありません。 PHP を使用した高度な Web フレームワークは本質的に間違っています。 PHP 自体の実行方法とロード方法により、PHP は問題を解決するためにフレームワークを使用するよりも、さまざまなコンポーネントを再利用するのに当然適しています。一日中フレームワークに期待している人は、PHP やビジネス ロジックの基礎に取り組みたくないかのどちらかです。
(1) 設定ファイルconfig.php
アプリケーション構成のさまざまな情報は、1 つ以上の構成ファイルで定義されます。通常、構成ファイルには、データベース接続情報が含まれるだけでなく、すべての URL とコントローラーとビュー間のルールを読み取るために、リクエストごとに構成ファイルがロードされます。
(2) エントリーファイルindex.php
ホームページリクエストまたはリクエストされたすべてのファイルを処理します。 Index.php は、PHP の MVC を実装するときの自然なフロントエンド コントローラー FrontController です。 Index.php は、リクエストの転送、水平の認証と認可、およびその他の処理ファイルの垂直処理を担当します。これらも、index.php にロードする必要があります。
(3) データアクセスファイルdatabase.php
database.php は、ツール クラスのデータ アクセスに使用される最も重要なファイルです。データ アクセスでのコードの繰り返しを避けるために、一般的な PHP アプリケーションには個別のデータ アクセス ファイルまたはデータ アクセス ファイルのグループがあります。
在PHP中自定义Session比Java中方便多了,只需要将自定义的函数名称做为参数传递给session_set_save_handler($open, $close, $read, $write, $destroy, $gc)作为参数即可,我们自定义一个使用cookie作为存储的session,作为演示没有对数据长度进行验证,也没有使用对称加密解密。
<?<span>php </span><span>function</span><span> open_session() { </span><span>return</span> <span>true</span><span>; } </span><span>function</span><span> close_session() { </span><span>return</span> <span>true</span><span>; } </span><span>function</span> read_session(<span>$id</span><span>) { </span><span>if</span> (<span>$_COOKIE</span>[<span>$id</span><span>]) { </span><span>return</span> <span>base64_decode</span>(<span>$_COOKIE</span>[<span>$id</span><span>]); } </span><span>return</span> ''<span>; } </span><span>function</span> write_session(<span>$sid</span>, <span>$data</span><span>) { </span><span>if</span> (<span>$_COOKIE</span>['session_end'<span>]) { </span><span>setcookie</span>(<span>$sid</span>, <span>base64_encode</span>(<span>$data</span>), <span>$_COOKIE</span>['session_end'<span>]); } </span><span>else</span><span> { </span><span>$start</span> = <span>time</span>() + <span>session_get_cookie_params</span>()['lifetime'<span>]; </span><span>setcookie</span>('session_end', <span>$start</span>, <span>$start</span><span>); </span><span>setcookie</span>(<span>$sid</span>, <span>base64_encode</span>(<span>$data</span>), <span>$start</span><span>); } </span><span>return</span> <span>true</span><span>; } </span><span>function</span><span> destroy_session() { </span><span>$_Session</span> = <span>array</span><span>(); </span><span>return</span> <span>true</span><span>; } </span><span>function</span><span> gc_session() { </span><span>return</span> <span>true</span><span>; } </span><span>ini_set</span>("session.cookie_lifetime", "3600"<span>); </span><span>session_set_save_handler</span>('open_session', 'close_session', 'read_session', 'write_session', 'destroy_session', 'gc_session'<span>); </span><span>session_start</span><span>(); </span><span>$_SESSION</span>['count'] += 1<span>; </span><span>echo</span> <span>$_SESSION</span>['count'<span>]; </span><span>session_write_close</span><span>(); </span>?>
(1)https://getcomposer.org/doc/00-intro.md
(2)http://docs.phpcomposer.com/00-intro.html