序章


多くのPHPベースのフレームワークの中で、Kohanaは、完全にオブジェクト指向のWebアプリケーションを開発するための一般的な規則と規則に従うというイデオロギーで、他のフレームワークとは一線を画しています。 このBSDライセンスのフレームワークには、商用の文字列が添付されておらず、コミュニティによるビルド、コミュニティ向けタイプの哲学があります。

この3部構成のDigitalOceanシリーズでは、PHP5 Kohanaフレームワークを使用してWebアプリケーションの構築を開始するために、開発者が精通している必要のあるすべての基本事項について説明します。 フレームワークをインストールした後、いくつかの基本事項を確認し、主要な概念とモジュールを続けていきます。

注:これはコハナシリーズの最初の記事であり、主に基本とそのインストールで構成されています。 Webアプリケーションを作成するためのフレームワークの学習を続けるには、その続編HMVCPHP5フレームワークKohanaを使用したWebアプリケーションの構築を確認してください。

用語集


1. Webアプリケーション開発フレームワーク


1. What Are Frameworks?
2. What Makes a Framework "Light"?

2. コハナフレームワーク


1. Kohana's Features
2. Kohana's Standard (Out-of-The-Box) Modules

3. モデル-ビュー-コントローラーパターン


1. Routing Structure
2. Model
3. View
4. Controller
5. Template Files

4. コハナと準備によるプログラミング


5. KohanaFrameworkのダウンロードとインストール


6. コハナインストール入門


1. Bootstrapping The Setup
2. Setting Application Directory Permissions
3. Finalizing Everything and Testing

Webアプリケーション開発フレームワーク


KohanaはWebアプリケーション開発フレームワークです。 PHPの言語としての性質と、記述されたコードがコンピューター上で実行される方法を考えると、フレームワークを利用してアプリケーションを迅速に開発するための厳密な要件はありません。 ただし、長い(-ish)ライフサイクル(すでに一度作成されたコードを使用し、複数の開発者が作業している)を目指す深刻なアプリケーションの場合、フレームワークを使用すると、大量のを作成することになります。 X223X]はるかに簡単です。

フレームワークとは何ですか?


単語フレームワークの辞書定義と同様に、Webアプリケーションフレームワークは、[アプリケーション]の開発を開始するための基本的な構造と、フレームワーク自体に精通している人にとって意味のある健全で論理的な方法ですべてをまとめるための接着層の両方を提供します。

これらのベースには、受信リクエストの処理、テンプレートの生成と入力、応答の返送、セキュリティと認証の処理、Cookie(およびセッション)の管理など、Webアプリケーションの開発にほぼ常に必要な多くの一般的なツールが付属していますなど X293X]。

フレームワークを「軽量」にするものは何ですか?


フレームワークが箱から出して出荷されるツールの量に応じて、軽量またはオールインワン(フルスタック、バッテリーを含む)ソリューションと呼ばれます。 コハナは非常にパワフルで機能的に豊富ですが、開発者が自由に操作できることと、コハナの設計と動作の設定方法により、依然として軽量と見なすことができます。

コハナフレームワーク


Kohana HMVC(Hierarchical Model View Controller)フレームワークは、PHP [5]言語を使用して迅速に開発し、簡単に展開/保守できる最新のWebアプリケーションを構築するために必要なすべてのツールを提供します。

コハナの特徴


他の同様のソリューションと比較して、コハナはその機能でではなく、これらの機能を提示する方法とその実行方法で他とは一線を画しています。

  • Kohanaには、暗号化検証データベースアクセスなどの一般的に必要な追加ツール(モジュール)の多くが付属しています。

  • デフォルトを単純に拡張する可能性を提供します。

  • BSDライセンスで商用アプリケーションを構築できます。

  • 重くて複雑なフレームワークと比較して、開始とセットアップは非常に高速で簡単です。

  • すべてのモジュールと物事の機能は、クラスとオブジェクトを使用して設計および構築されています。 このフレームワークは、「Don’tRepeatYourself」の原則を維持しています。

  • プロファイリングおよびデバッグツールを提供します。

  • そのコードは非常によく文書化されており、例と優れた説明を含む比較的優れた文書が付属しています。

  • [エンドレスでイライラする]構成よりも規則に従うことをお勧めします。

コハナの標準(すぐに使える)モジュール


以下は、Kohanaのすぐに使用できるモジュールの一部です。

  • Auth:ユーザーの認証と承認。

  • キャッシュ:キャッシュエンジンの共通インターフェース。

  • コードベンチ:コードベンチマークツール。

  • データベース:データベースに依存しないクエリと結果管理。

  • 画像:画像操作モジュール。

  • ORM(オブジェクトリレーショナルマッパー):オブジェクトリレーショナルマッピング用のモデリングライブラリ。

  • Unittest:ユニットテストモジュール。

モデル-ビュー-コントローラーパターン


MVC(モデル-ビュー-コントローラー)アプリケーションパターンは、実行するように設定されている役割およびに応じて、コードおよび論理構造をグループに分割するために使用されます。 これらの各パーツは、内部で情報を処理し、必要な出力を相互に共有して、ジョブをまとめて完了し、最終的なプレゼンテーションを形成します(つまり、 結果)エンドユーザー(すなわち 訪問したURLの結果)。

ルーティング構造


MVCパターンに従って、リクエストは、結果が返される前に、以下の例のようなプロセスを通過します。

  (1)                       (2)                    (3)
Request       --->       Parsing       --->     Matching
[Data] .. [] >> .. [] > [] [] [] .. .. .>. .. . ........

  (4)                       (5)                    (6)
Routing       --->      Controller     --->     Response
 ----- .. >> .. >> ..  ../\ .. /\  []  >> [] >>  [Data] 
                         ||  . ||
                         \/  . \/
                       Model   View

モデル


モデルには、オブジェクトクラスの定義とデータ操作の処理が存在します。 このレイヤーでは、アプリケーションの他の部分との直接的な相互作用はありません(例: ビュー)。 新しいイベントが発生したら、 model をその親(つまり コントローラ)知っています。

意見


ビューレイヤーは、ビューが表示されるファイルで構成されます(例: データ表現)が生成されます。 コントローラーオブジェクトは、ビューを使用して、最終結果をユーザーに提示します。

コントローラ


コントローラでは、リクエストからの解析データがモデルとビューを使用して処理され、アクションを介してファイルレスポンスが生成されます。 コントローラーは接着剤のように機能し、すべての部品を接続して連携させます。

テンプレートファイル


テンプレートファイルは、アプリケーションによってエンドユーザーに提示される特定のデータの表現の保守を容易にするために一般的に使用されるベースを形成します。 PHPアプリケーションに関しては、PHP言語は同様にテンプレート言語のように機能するため、テンプレート構文を提供します。

コハナと準備によるプログラミング


軽いフレームワークとしてのKohanaは、慎重に構造化されたディレクトリに散在する一連のファイルで構成され、最終的には本番サーバーに転送され、Webアプリケーションの実行に使用されます。 したがって、各コハナパッケージは[新しい]Webアプリケーションと見なすことができます。

注:この例では、Ubuntuの最新バージョンを実行するドロップレットで作業します。 Kohanaを使用してWebアプリケーションを構築するには、実稼働ステップまで自宅のコンピューターで作業し、後でコードをプッシュして公開します。

注:ドロップレットに設定されたデフォルトのLAMP(Linux-Apache-MySQL-PHP)を使用して、Kohanaで動作します。 UbuntuドロップレットにLAMPスタックをすばやく設定するには、次を使用できます。

sudo apt-get install tasksel
sudo tasksel install lamp-server

KohanaFrameworkのダウンロードとインストール


コハナの最新バージョンは3.3.1です。 VPSにダウンロードするには、wget(つまり、 GNU Wgetコマンドラインツール)。

wget https://github.com/kohana/kohana/releases/download/v3.3.1/kohana-v3.3.1.zip

ダウンロード後、zipパッケージを展開する必要があります。 このために、 unzip コマンドを使用し、抽出フォルダーとして””my_appを設定します。

# You might need to install *unzip* before extracting the files    
aptitude install -y unzip 

# Unzip and extract the files
unzip kohana-v3.3.1.zip -d my_app

# Remove the zip package
rm -v kohana-v3.3.1.zip

フレームワークパッケージの準備ができたら、それをより永続的な場所に移動して、Apacheで動作させることができます。 LAMPインストールのデフォルトの場所は/var / www/です。

# Remove the *index.html* inside /var/www
rm -v /var/www/index.html

# Move the application directory inside
mv my_app /var/www/

# Enter the directory
cd /var/www/my_app    

今後、インストールにはWWWからアクセスできるようになります。

# Visit: http://[your droplet's IP adde.]/my_app/ 
http://95.85.44.185/my_app/

注:コハナはまだ作業の準備ができていません。 その構成を最初に設定する必要があります(つまり、 ブートストラップ)。

コハナインストール入門


セットアップのブートストラップ


アプリケーションの開発について学習する手順を開始する前に、ブートストラップしてインストール手順を完了しましょう。

以下を実行して、nanoテキストエディタを使用してブートストラップファイルを編集します。

nano application/bootstrap.php

タイムゾーンを編集します。

# Find date_default_timezone_set and set your timezone
date_default_timezone_set('Europe/London');

ロケールを設定します。

# Find setlocale and set your locale
setlocale(LC_ALL, 'en_UK.utf-8');

ベースアプリケーションディレクトリの場所を設定します。

# Find base_url and set the base application directory
# Relative to the base Apache directory (i.e. /var/www/)

Kohana::init(array(
    'base_url' => '/my_app/',
));

モジュールを有効にする:

# Find Kohana::modules and uncomment them

Kohana::modules(array(
    'auth'       => MODPATH.'auth',       // Basic authentication
    'cache'      => MODPATH.'cache',      // Caching with multiple backends
    'codebench'  => MODPATH.'codebench',  // Benchmarking tool
    'database'   => MODPATH.'database',   // Database access
    'image'      => MODPATH.'image',      // Image manipulation
    'orm'        => MODPATH.'orm',        // Object Relationship Mapping
    'oauth'      => MODPATH.'oauth',      // OAuth authentication
    'pagination' => MODPATH.'pagination', // Paging of results
    'unittest'   => MODPATH.'unittest',   // Unit testing
    'userguide'  => MODPATH.'userguide',  // User guide and API documentation
));

CTRL + Xを押して保存して終了し、Yで確定します。

アプリケーションディレクトリのアクセス許可の設定


コハナを実行するには、そのフォルダーの2つを書き込み可能とマークする必要があります。

sudo chmod -R a+rwx application/cache
sudo chmod -R a+rwx application/logs

すべてを完成させてテストする


セットアップのブートストラップとフォルダーのアクセス許可の構成が完了したら、Webブラウザーを使用してアプリケーションにアクセスし、すべてを再度テストできます。

# Visit: http://[your droplet's IP adde.]/my_app/ 
http://95.85.44.185/my_app/

すべてが正しく設定され、正常に機能していることを確認したら、install.phpを削除できます。

次のコマンドを実行して、インストールファイルを削除します。

rm -v install.php

前の手順のURLに再度アクセスすると、 hello、world!メッセージが表示されます。 これは、リクエストがパターンに従ってHMVCプロセスを介して正しくルーティングされるようになったことを意味します。

投稿者: https ://twitter.com/ostezer