目次
ORM、composerrom を使用して Composer で独自の PHP フレームワークを構築します
PHP Composer の基本的な使用法の問題
phpパッケージ管理、composerには国内ミラーがあります
ホームページ バックエンド開発 PHPチュートリアル ORM を使用して Composer で独自の PHP フレームワークを構築する、composerrom_PHP チュートリアル

ORM を使用して Composer で独自の PHP フレームワークを構築する、composerrom_PHP チュートリアル

Jul 13, 2016 am 10:15 AM
composer orm php フレーム

ORM、composerrom を使用して Composer で独自の PHP フレームワークを構築します

レビュー

最初の 3 つの記事で基本的な準備、ルーティング、MVC 設計を行った後、比較的完全な MVC アーキテクチャを備えた PHP マイクロフレームワークを入手しましたが、実際に使用できるフレームワークにはまだ欠けているものが 1 つあります。データベースのカプセル化、この記事では、ORM Composer パッケージを統合する方法について説明します。

この記事はこのシリーズの最後の記事です。次に、このサイトで主に公開されるシリーズタイトル「Composer Packageを開いて開いてみよう」でいくつかの経験と洞察を共有するかもしれません。

テキスト

ORMパッケージとしてLaravelのilluminate/databaseを選択します。有名な ORM をいくつか試してみましたが、Laravel の Eloquent が最も便利であることがわかりました。私たちを幸せにするORMが何度も開かれます! :-D

この一連のチュートリアルでは、各 Composer パッケージは次の基本要件を満たしている必要があります:

管理のために Composer にネイティブに依存します

使いやすさを考慮して、できるだけシンプルになるようにしてください (非常にシンプルなルーティング パッケージなど)
できるだけ最新の状態にして、PHP の新機能を使用してください

PHP の新機能について言えば、余談があります。 PHP5.3 では、PHP6 で予定されている機能である名前空間が導入されているため、PHP5.3 は実際にはある程度 PHP6 になります。PHP の次のバージョンは、主な貢献者は有名な Bird Brother @Laruence です。 。さらに、最前線のレポーター (私です) が Weibo から、Niao 兄弟が JIT 上で伝説的な PHP7 を作成するために取り組みを強化していると報告しました。私の大きな PHP の歴史的な車輪は止められません、ハハハ! :-P

イルミネーション/データベースをインストールする

composer.json に必須項目を追加します:

"イルミネーション/データベース": "*"

Composer update を実行し、インストールが完了するまで待ちます。

Eloquentの使用

public/index.php を次のように変更します:

コードをコピーします コードは次のとおりです:
IlluminateDatabaseCapsuleManager をカプセルとして使用します;

//Autoload 自動ロード

「../vendor/autoload.php」が必要です;

// 雄弁な ORM

$capsule = 新しいカプセル;

$capsule->addConnection('../config/database.php'が必要);

$capsule->bootEloquent();

//ルーティング設定

「../config/routes.php」が必要です;


config/database.php を追加します (データベースのパスワードを置き換えることに注意してください):

コードをコピーします コードは次のとおりです:
戻る [

'ドライバー' => 'mysql',

'ホスト' => 'ローカルホスト',

'データベース' => 'mffc',

'ユーザー名' => 'root',

'パスワード' => 'パスワード',

'charset' => 'utf8',

'照合' => 'utf8_general_ci',

'プレフィックス' => ''

];


モデル/Article.phpを変更:

コードをコピーします コードは次のとおりです:
/**

* 記事モデル

*/

クラス記事はIlluminateDatabaseEloquentModelを拡張します

{

public $timestamps = false;

}


controllers/HomeController.php 変更は必要ありません。

更新すると、ページは残ります:

おめでとうございます! Eloquent で成功しました!

雄弁なその他の使用法

Eloquent は非常に強力で、Laravel の最も特別で価値のある部分と言えます。
HomeController で呼び出される Article::first() と同様、以前は十数行のコードが必要でしたが、現在は何もする必要はなく、クラスを継承するだけです。

Eloquent の詳しい使用法については、Eloquent ORM 中国語ドキュメントを参照してください

その他の有名なORM

有名な ORM およびデータマッピング (データベース移行など) パッケージも多数あります。参照: ORM とデータマッピング

ORM は開発効率を大幅に向上させることができ、Eloquent はまさに魔法のツールです。
Web 世界のさまざまな言語陣営が新しいいわゆる急速開発フレームワークを絶えず立ち上げていますが、それらは依然として Rails にますます似てきています。表面的には、Eloquent は Rails に最も似た ORM に近いですが、Ruby の超オブジェクト指向機能と比較することはできません。 Laravel の作者である Taylor Otwell 氏はインタビューで、Eloquent は Laravel で実装するのが最も難しい部分だと述べています。デバッグ中に、MFFC/vendor/illuminate/database/Illuminate/Database/Eloquent/Model.php ファイルに 3,000 行以上あることもわかりました...

完全で使いやすい PHP フレームワークを構築するという現在の作業は基本的に完了しました。次に、MFFC フレームワークをさらに改良して、より使いやすくします。

将来的には、テンプレートエンジン、フォームバリデーション、メール送信、パーミッションシステム管理、非同期キュー、ビデオ・オーディオ処理(インストゥルメント:-D)などのコンテンツが登場する可能性がありますので、今後の内容にご注意ください。何度も開いているComposerパッケージシリーズの記事を公開しました。

読んでくださった皆様、お付き合いくださった皆様、ありがとうございました!さようなら!

PHP Composer の基本的な使用法の問題

質問1: なぜマネージャーをカプセルとして使用しなければならないのですか

名前が長すぎるので、使いやすいように名前を変更してください

質問2: ベンダーの下のautoload.phpの機能は言うまでもありませんが、自動読み込み、読み込み方法を知りたいです

require '../vendor/autoload.php';
このファイルのコードは見えないので、何をするのかわかりません

質問 3: とは何ですかbootEloquent()関数の関数

この関数がどこで定義されているか見ていないので、その機能を判断できません

phpパッケージ管理、composerには国内ミラーがあります

はい、国内のフルイメージには、laravel フレームワークプロジェクトチームによって構築された pkg.phpcomposer.com/
というプロキシもあります: 218.244.132.204/proxy/packagist このプロキシは、composer の検索および通知メソッドを使用できません。

http://www.bkjia.com/PHPjc/903480.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/903480.html技術記事 ORM を使用して Composer で独自の PHP フレームワークを構築する、composerrorm のレビュー 最初の 3 つの記事で基本的な準備、ルーティングの構築、MVC の設計を行った後、構造の比較を行いました...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles