laravel5 との出会い
laravel5 がリリースされました。現時点では、国内の関連情報が比較的少ないため、壁を越えて公式 Web サイトにアクセスして、最初にいくつかの変更点をまとめました。そしてそれらを書き留めておきたいと思いました。
ディレクトリ構造の変更
laravel 5 で最初に強調されるのは、プロジェクトのディレクトリ構造の変更です。4.2 との違いは 1 つずつ説明します。
新しいディレクトリ構造は次のようになります:
アプリ
コマンド
コンソール
イベント
ハンドラー
コマンド
イベント
http
コントローラー
ミドルウェア
リクエスト
カーネル.php
ルート.php
プロバイダー
サービス
ブートストラップ
設定
データベース
移住
種
公開
パッケージ
リソース
ラング
再生回数
ストレージ
キャッシュ
ログ
メタ
セッション
再生回数
仕事
テスト
4.2のディレクトリ構造:
アプリ
コマンド
設定
コントローラー
データベース
ラング
モデル
スタート
ストレージ
テスト
再生回数
ブートストラップ
公開
比較すると、変更は非常に大きく、config とデータベースがルート ディレクトリに移動され、lang ディレクトリと views ディレクトリが resource ディレクトリに移動され、コントローラが http ディレクトリに統合され、モデルが統合されていることがわかります。ディレクトリが消えており、目次は省略されています。
アプリの名前空間
laravel5 にはもう 1 つの変更があります。つまり、app ディレクトリにはデフォルトで App という名前空間があり、App の下にあるすべてのディレクトリとクラスはこの名前空間の下にある必要があります。つまり、psr4 標準が採用されています。
HTTP
laravel5 は、http ディレクトリなど、新しいディレクトリ構造が現時点で最良の構造の 1 つであり、開発をより便利にすることができると考えています。
http
コントローラー
ミドルウェア
リクエスト
カーネル.php
ルート.php
ミドルウェアは非常に馴染みがありませんが、これは元のルーティング フィルターのアップグレードされたバージョンであり、filters.php でフィルターを定義する必要はなくなり、代わりにクラスが Middleware ディレクトリに作成され、グローバルに、またはオプションで Kernel.php で設定されます。ミドルウェアはリクエストごとに実行され、オプションのものはルーティングまたはコントローラーで使用できる元のフィルターに相当します。
http リクエストに関連するすべての処理は http ディレクトリにあると考えることができます。たとえば、コントローラーはリクエストを受け入れて返すために使用されるため、Http ディレクトリに配置するのが合理的です。
ルーティング
ルーティングは前のルーティングとあまり変わりませんが、コントローラーの名前空間を指定する場合、名前空間は絶対パスではなく、AppHttpControllers に対する相対パスであることに注意する必要があります。例:
コードは次のとおりです:
'auth' => 'AuthAuthController',
'パスワード' => 'AuthPasswordController',
]);
対応するクラスは App/Http/Controllers/Auth ディレクトリにあります。
さらに、ルーティングはコマンドラインツールを通じてパフォーマンスを向上させるためのキャッシュもサポートしています
コードは次のとおりです:
は簡単に生成することも、
を使用することもできます
コードは次のとおりです:
キャッシュをクリーンアップします。
サービス
App ディレクトリの下に Services ディレクトリもあります。これは素晴らしい概念だと思います。私は、コントローラー内のビジネス ロジック コードの大きなセクションに常に悩まされてきました。カプセル化された別のレイヤーを使用したいと考えています。もちろん、これらのビジネス ロジックとサービスを使用してこの作業を行うことはできますが、使用することを強くお勧めします。 laravel5 に付属するデモを見てみましょう:
コードは次のとおりです:
# Http/Controllers/Auth/AuthController.php
AppHttpControllersController を使用します;
IlluminateContractsAuthGuard を使用します;
IlluminateContractsAuthRegistrar を使用します;
IlluminateFoundationAuthAuthenticatesAndRegistersUsers を使用します;
class AuthController はコントローラーを拡張します {
/*
|------------------------------------------------- -------------------------
|登録とログインコントローラー
|------------------------------------------------- -------------------------
|
|このコントローラーは、新しいユーザーの登録と
の登録を処理します。 |既存のユーザーの認証。デフォルトでは、このコントローラーは
を使用します |これらの動作を追加する簡単なトレイトです。探検してみませんか?
|
*/
AuthenticatesAndRegistersUsers を使用します;
/**
* 新しい認証コントローラー インスタンスを作成します。
*
* @param IlluminateContractsAuthGuard $auth
* @param IlluminateContractsAuthRegistrar $registrar
* @return void
*/
パブリック関数 __construct(Guard $auth, Registrar $registrar)
{
$this->auth = $auth;
$this->registrar = $registrar;
$this->ミドルウェア('ゲスト', ['例外' => 'getLogout']);
}
}
これは、登録許可权のコントロール、我们看 __construct 構造関数、パラメータを利用して自動注入された "インターフェイス实现(参照手册IoC)" の绑定、我们看下レジストラ:
代码如下:
AppUser を使用します;
バリデーターを使用します;
IlluminateContractsAuthRegistrar を RegistrarContract として使用します;
クラス Registrar は RegistrarContract {
を実装します /**
* 受信した登録リクエストのバリデータを取得します。
*
* @param 配列 $data
* @return IlluminateContractsValidationValidator
*/
パブリック関数バリデーター(配列 $data)
{
return Validator::make($data, [
'名前' => '必須|最大:255',
'電子メール' => '必須|メール|最大:255|固有:ユーザー',
'パスワード' => '必須|確認済み|分:6',
]);
}
/**
* 有効な登録後に新しいユーザー インスタンスを作成します。
*
* @param 配列 $data
* @return ユーザー
*/
パブリック関数 create(array $data)
{
return User::create([
'名前' => $data['名前'],
'電子メール' => $data['メール'],
'パスワード' => bcrypt($data['パスワード']),
]);
}
}
提交用户名秘密コード時の処理:
代码如下:
パブリック関数 postRegister(Request $request)
{
$validator = $this->registrar->validator($request->all());
if ($validator->fails())
{
$this->throwValidationException(
$リクエスト、$バリデータ
);
}
$this->auth->login($this->registrar->create($request->all()));
return redirect($this->redirectPath());
}
可以看,表单验证的业务逻辑仅仅一行:
代码如下:
$validator = $this->registrar->validator($request->all());
コントローラー全体のコードは非常に簡単に理解できるため、コントローラーに直接封入するよりもはるかに優れた、多くの一般的なトラフィック ブロック化サービスを提供できます。
モデルmodels の名前は確認されていません。すべてのアプリケーションがデータベースに必要なわけではないため、laravel5 ではこの名前空間が提供されていませんが、App にこの名前空間が提供されているため、すべてのモデルを含む Models の名前を App/ で独自に作成できます。すべてのクラスは名前空間の AppModel を使用します。つまり、一部の上位を使用するだけで、事前に使用する必要がありますが、そのようにしても名前空間のグループの下にあるものはすべてありません。
時間制限がありますので、先にこの多くの内容を書いてください。希望大家が喜欢できます。
http://www.bkjia.com/PHPjc/962924.html

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
