検索
ホームページバックエンド開発PHPチュートリアルlaravel5_PHP チュートリアルの最初の紹介

laravel5_PHP チュートリアルの最初の紹介

Jul 13, 2016 am 10:05 AM
最初の知り合いリリース国内比較する現在のところ関連しているネット材料

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 で設定されます。ミドルウェアはリクエストごとに実行され、オプションのものはルーティングまたはコントローラーで使用できる元のフィルターに相当します。

Requests は、コア クラスの Request の拡張機能であり、さまざまな Requests クラスを拡張し、さまざまな機能を追加できます。

http リクエストに関連するすべての処理は http ディレクトリにあると考えることができます。たとえば、コントローラーはリクエストを受け入れて返すために使用されるため、Http ディレクトリに配置するのが合理的です。

ルーティング

ルーティングは前のルーティングとあまり変わりませんが、コントローラーの名前空間を指定する場合、名前空間は絶対パスではなく、AppHttpControllers に対する相対パスであることに注意する必要があります。例:

コードは次のとおりです:

Route::controllers([
'auth' => 'AuthAuthController',
'パスワード' => 'AuthPasswordController',
]);

対応するクラスは App/Http/Controllers/Auth ディレクトリにあります。

さらに、ルーティングはコマンドラインツールを通じてパフォーマンスを向上させるためのキャッシュもサポートしています

コードは次のとおりです:

php 職人ルート:キャッシュ

は簡単に生成することも、

を使用することもできます

コードは次のとおりです:

php職人ルート:クリア

キャッシュをクリーンアップします。

サービス

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/962924.html技術記事最初にlaravel5 laravel5が配布されました、現在国内の関連費用はさらに少なくなっています、最初に翻訳して官网を先見することができます、最初にいくつかの変更が完了しました、次のことを思います。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの目的:動的なWebサイトの構築PHPの目的:動的なWebサイトの構築Apr 15, 2025 am 12:18 AM

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

PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

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

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

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

PHPおよびPython:コードの例と比較PHPおよびPython:コードの例と比較Apr 15, 2025 am 12:07 AM

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

アクション中のPHP:実際の例とアプリケーションアクション中のPHP:実際の例とアプリケーションApr 14, 2025 am 12:19 AM

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

PHP:インタラクティブなWebコンテンツを簡単に作成しますPHP:インタラクティブなWebコンテンツを簡単に作成しますApr 14, 2025 am 12:15 AM

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

PHPとPython:2つの一般的なプログラミング言語を比較しますPHPとPython:2つの一般的なプログラミング言語を比較しますApr 14, 2025 am 12:13 AM

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

PHPの永続的な関連性:それはまだ生きていますか?PHPの永続的な関連性:それはまだ生きていますか?Apr 14, 2025 am 12:12 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール