個人的なブログ、ニュース機関、REST API開発のためのフレームワークを強くお勧めします。
他のPHPフレームワークと同様に、 $Add->Loader 、 REST API 、 SharedLayouts 、 Middlewares 、事前定義されたセキュリティコンセプトなどの注目サービスを使用して、MVCアーキテクチャに基づいてこのプロジェクトを開始しました。シンプルなものはすべて、サーバーにインストールするのと同じくらい簡単です!
このリポジトリからダウンロードしてください:
composer create-project miladxandi/simplist
PHPバージョンは7より上にある必要があり、ローカルリクエストアドレスを次のように設定する必要があります。
public_html/
その後、データベースのユーザー名とテーブルを設定する必要があります!最初に使用するためのローカルプロジェクトでは、これらの値は次のようにする必要があります。
表:Simplist_simplist
ユーザー名:root
パスワード:空(値または空の文字列なし)
これらの値を変更して、レイヤーをモデル化してCORE/Configurationsフォルダーの接続で変更することで変更できます。または、次のアドレスに移動します。
core/configurations/connection.phtml
注:「リソース」フォルダーにSQLテーブルファイルがあり、ローカルまたはオンラインのMySQLデータベースに簡単にインポートできます
ローカルワーキングディレクトリの作業を行うまで、HTTPSプロトコルがオフになりますが、サーバーにアップロードする場合、HTTPSプロトコルは、コアフォルダーで「SecureProtocol」をtrueすることでオンにすることができます。
core/configurations/routing.phtml
$SecureProtocol = false; $SecureProtocol = true; to;
完全にインストールされており、使用可能です。
独自のルートを定義するには、このアドレスに移動してください。
ルート/設定/routes.phtml
URLを配列キーとして返す配列リターナーとその値としての構成だけがあります。すべての新しいルートは、このテンプレートから正確に作成する必要があります。
'/aboutus' => [
'target'=>'Main.Home.Aboutus',
'get'=> true,
'post'=> false,
'middleware'=>'Main.Home.Aboutus'
'important'=>false
],
一行ごとに説明させてください:
'/aboutus'
これは、コントローラーとミドルウェアによって要求されたアドレスを処理するWebアドレスであり、配列の鍵です。注:ルーターシステムはケースに敏感ではありませんが、小文字のルートを定義する必要があります。
'target'=>'Main.Home.Aboutus'
これは、ターゲットコントローラーがコントローラーフォルダーの「メイン」フォルダーの「HomeController」であり、
'target'=>'Main.Home.Aboutus'コントローラーの最後に書かれたように、このアドレス「aboutus」メソッドを要求した後に呼び出されます。また、その関数パラメーターで、それを取得することにより、Querry Stringで処理できます。コントローラーファイルのデータベースにリクエストを行うこともできます。指定されたQuerry Stringまたはデータベース値は、$Viewbag名のある配列に挿入する必要があります。このコードでWebページに送信できます。viewView::Process("Main.Home.Post",$Viewbag);「public_html/view/...」の要求された「表示」ファイルからアクセス可能になりました。ロジックコードをコントローラーに書き込む代わりに、モデルフォルダーの「ロジック」フォルダーに配置することをお勧めします。このフォルダーには、これまで以上にビジネスを開発するのに役立つ素晴らしい契約がいくつかあります。
注:コントローラーとミドルウェアは、 Controller.phtmlまたはMiddleware.phtml拡張機能を使用して作成する必要がありますが、これらの拡張機能なしでここに記述する必要があります。たとえば、「HomeController」がありますが、「コントローラー」という単語:「Home」なしで名前だけを書くことでアクセスできます。
'get'=> trueまたは'post'=> false
これらは、ここで定義できる一般的なサーバー要求方法です。 POSTリクエストを拒否したい場合は、
post値をfalseに変更するだけです。次に、POSTリクエストメソッドを使用してすべてのリクエストが表示され、「許可されていない」エラーが表示されます。
'middleware'=>'Main.Home.Aboutus'
要求されたURLとその定義された要求方法と競合しなかった場合、コントローラーを起動する前に、いくつかの検証を行うためのいくつかのミドルウェアがあります。セキュリティクッキーやウェブサイトの言語オプションなどを確認することができます。すべてのミドルウェアは、「ステータス」キーで
trueを返して、試験に合格する必要があります。 MiddleWaresは、関数パラメーターでQuerry Stringを取得することで処理することもできます。コントローラーと同じように、「ミドルウェア」という言葉なしで純粋な名前が必要です。
'important'=>false
前に読んだように、私たちのシステムはデフォルトではケースに敏感ではありませんが、いくつかのトークンと機密データまたはその他の理由を検証するために、ケースに敏感なURLで処理する必要がある場合があります。
'important'=>trueを使用するか、'important'=>falseでオフにすることにより、ルーティングシステムのこのルールを変更できます。注:ルーティング配列のこのキーは必要ありません。
独自のルートを定義するには、このアドレスに移動してください。
ルート/設定/api.phtml
URLを配列キーとして返す配列リターナーとその値としての構成だけがあります。すべての新しいルートは、このテンプレートから正確に作成する必要があります。
'/api' => [
'target' => 'Api.Home.Index',
'allowed'=> 'get',
'blocked'=> 'DELETE',
'middleware'=>'Main.Home.Index',
'important'=>false
]
一行ごとに説明させてください:
'/api'
これは、APIを呼び出すためのWebアドレスであり、コントローラーとMiddleWaresによる要求されたサービスを処理し、配列の鍵です。注:ルーターシステムはケースに敏感ではありませんが、小文字のルートを定義する必要があります。
'target' => 'Api.Home.Index'
これは、ターゲットコントローラーがコントローラーフォルダーの「API」フォルダーの「HomeController」であり、このアドレス「インデックス」メソッドを要求した後、「
'target' => 'Api.Home.Index'コントローラーの最後に書かれたとおりに呼び出されます。また、その関数パラメーターで、それを取得することにより、Querry Stringで処理できます。コントローラーファイルのデータベースにリクエストを行うこともできます。ロジックコードをコントローラーに書き込む代わりに、モデルフォルダーの「ロジック」フォルダーに配置することをお勧めします。このフォルダーには、これまで以上にビジネスを開発するのに役立つ素晴らしい契約がいくつかあります。
注:コントローラーとミドルウェアは、 Controller.phtmlまたはMiddleware.phtml拡張機能を使用して作成する必要がありますが、これらの拡張機能なしでここに記述する必要があります。たとえば、「HomeController」がありますが、「コントローラー」という単語:「Home」なしで名前だけを書くことでアクセスできます。
'allowed'=> 'get'または'blocked'=> 'DELETE'
アプリにHTTP動詞を動作させたい場合は、ここで定義し、APIにこのメソッドを使用させるためにコンマで分離できます。たとえば、アプリが
POSTを使用してサーバーと対話し、メソッドGET必要があります。だから私たちはここでそれらの両方をここに定義する必要はありません:
'allowed'=> 'get,post'
次に、いくつかのHTTP動詞をリクエストからサーバーに制限したいと考えています。このセクションの
blocked部分にそれらを記述する必要があります。
'blocked'=> 'DELETE'
これらのセクションに必要な動詞を書くことができます。
'middleware'=>'Main.Home.Aboutus'
要求されたURLとその定義された要求方法と競合しなかった場合、コントローラーを起動する前に、いくつかの検証を行うためのいくつかのミドルウェアがあります。セキュリティクッキーやウェブサイトの言語オプションなどを確認することができます。すべてのミドルウェアは、「ステータス」キーで
trueを返して、試験に合格する必要があります。 MiddleWaresは、関数パラメーターでQuerry Stringを取得することで処理することもできます。コントローラーと同じように、「ミドルウェア」という言葉なしで純粋な名前が必要です。
'important'=>false
前に読んだように、私たちのシステムはデフォルトではケースに敏感ではありませんが、いくつかのトークンと機密データまたはその他の理由を検証するために、ケースに敏感なURLで処理する必要がある場合があります。
'important'=>trueを使用するか、'important'=>falseでオフにすることにより、ルーティングシステムのこのルールを変更できます。注:ルーティング配列のこのキーは必要ありません。
oLoadライブラリはシンプルなサービスであり、HTML headセクションがよりきれいになるのを支援するために定義されています。このライブラリを使用する必要がある場合は、最初にこのコードをビューファイルで使用する必要があります。
<?php $Add = new CoreRequirementoLoad("../../..","Style/Main","Script/Main","Content/Main"); ?>
このコードでは、JS、CSS、画像などのさまざまな場所を定義できます。アプリをカスタマイズできるため、 ../../..これらのコンテンツのデフォルトルートを表示しますが、作成しているすべてのページで変更できます。
このコードは、外部JSまたはCSSライブラリまたは画像をインポートできます。
また、プロジェクトに一意の種類のファイルを追加できます。
これは、HTMLに画像を表示する方法を示すための完全なコードです。
<?php $Add->Loader("png","eastCloud","Shared",true,false,"eastCloud",24,24,"Style","Class"); ?>
このコードは次のことを意味します:
<?php $Add->Loader(Extension: "png",Name: "eastCloud",UniqueUrl: "Shared",Local: true,UniqueType: false,ImageAlt: "eastCloud",ImageWidth: 24,ImageHeight: 24,ImageStyle: "Style",ImageClass: "Class"); ?>
そして、使用した場所に完全な<img>タグを作成します。
このようにJSおよびCSSライブラリを追加できます。しかし、その方法におけるLocal議論の後のすべてを除いて、そして次のようなそれ自体の拡張機能:
<?php $Add->Loader("css","Style",null,true); ?>
<?php $Add->Loader("js","Script",null,true); ?>
UniqueUrl引数では、内部または外部ライブラリまたは画像を定義できます。 UniqueUrlを定義する必要がない場合は、空の二重引用符( "" )を残すか、その引数としてnullを渡します。デフォルトでnull。
Local引数は、ライブラリまたは画像がローカルファイルであるかどうかを意味します。システムは、指定された引数のデフォルトルートを使用して、 Localがtrueある場合にそのファイルを見つけます。
拡張機能がJS、CSS、PNG、JPEG、JPG、およびICOを除くすべてのものである場合、 UniqueType引数はtrueなければなりません。デフォルトではfalseです。
js拡張機能は、完全な<script src="../../../Script/Main/main.js"></script>どこでも電話をかけます。 css拡張機能は、完全な<link rel="stylesheet" type="text/css" href="../../../Style/Shared/File.css">どこでもコードを作成します。
SharedLayoutsは、ビューフォルダー( public_html/View/Shared )の共有フォルダーにあるシンプルなサービスの名前です。
デフォルトで「レイアウト」名を備えた2つのフォルダーと.phtmlファイルが含まれています。レイアウトファイルには、プロジェクトの各部分に1つ以上のクラスを含めることができます。たとえば、このようなクラスがあります:
class MainLayouts { public static function _Header() { include "Main/_HeaderLayout.phtml"; } public static function _Menu() { include "Main/_MenuLayout.phtml"; } public static function _Footer() { include "Main/_FooterLayout.phtml"; } }
他のビューファイルをヘッダー、メニュー、フッターとしてロードする方法が含まれています。複雑な概念はありません。
詳細なガイドファイルとして「.md」拡張機能を備えたマークダウンファイルをいくつか配置します。ブロワーのマークダウンビューアーをダウンロードしてインストールして、このファイルをより良い体験で表示することを強くお勧めします。