ホームページ >PHPフレームワーク >ThinkPHP >Thinkphp フレームワーク拡張などのライブラリ拡張操作の分析
#Thinkphp フレームワーク拡張などのライブラリ拡張操作の詳細説明
Thinkphp フレームワーク拡張機能とその他のライブラリ拡張機能の操作について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。この記事は主にThinkphp フレームワーク拡張機能とその他のクラス ライブラリ拡張機能の操作を理解し、Thinkphp クラス ライブラリ拡張機能の関連する原則、実装方法、操作上の注意事項を例の形で分析します。必要な友人は、この記事の例を参照してください。
ライブラリ クラス拡張機能
ThinkPHP のクラス ライブラリには、主にパブリック クラス ライブラリとアプリケーション クラス ライブラリが含まれており、すべてベースになっています。定義および拡張された名前空間について。仕様通りに定義していれば自動ロードが可能です。パブリック ライブラリ クラス
パブリック クラス ライブラリは通常、ThinkPHP/Library ディレクトリにあるクラス ライブラリを指します。例:Thinkディレクトリ: システム コア クラス ライブラリこれらのディレクトリ下のクラス ライブラリは自動的にロードできます。対応するクラス ライブラリをディレクトリに配置するだけで済みます。次に、名前空間定義を追加または変更します。 Image.class.php ファイルを Org/Util/ ディレクトリに追加し、次のように名前空間を追加できます。Org ディレクトリ: サードパーティのパブリック クラス ライブラリ
namespace Org\Util; class Image { }これにより、次の方法で Image クラスを直接インスタンス化できます。 ##
$image = new \Org\Util\Image;
これらのディレクトリに加えて、ThinkPHP/Library ディレクトリの下に独自のクラス ライブラリ ディレクトリを追加できます。たとえば、エンタープライズ クラス ライブラリ拡張用に Com ディレクトリを追加します:
Com\Sina \App クラス (Com/Sina/App.class.php にあります)
namespace Com\Sina; class App { }
Com\Sina\Rank クラス (Com/Sina/Rank.class.php にあります)
namespace Com\Sina; class Rank { }
Publicクラス ライブラリ (システムのライブラリ ディレクトリに加えて、他の名前空間もカスタマイズできます。新しい名前空間を登録し、アプリケーションまたはモジュールの構成ファイルに次の設定パラメータを追加するだけです:
'AUTOLOAD_NAMESPACE' => array( 'Lib' => APP_PATH.'Lib', )
アプリケーション ディレクトリにパブリック Lib 拡張機能を配置するために、以下に Lib ディレクトリが作成されます。上記の 2 つのクラス ライブラリを Lib\Sina ディレクトリに配置する場合は、次のように調整するだけです:
Lib\Sina \App クラス (Lib/Sina/App.class.php にあります)
namespace Lib\Sina; class App { }
Lib\Sina\Rank クラス (Lib/Sina/Rank.class.php にあります)
namespace Lib\Sina; class Rank { }
Ifクラス ライブラリは名前付けを使用しません スペースがある場合は、最初にインポート メソッドを使用してクラス ライブラリ ファイルをロードし、次にそれをインスタンス化する必要があります。例: Counter クラスを定義します (Com/Sina/Util/Counter にあります)。 class.php):
class Counter { }
In 使用するときは、次の方法で呼び出す必要があります。
import('Com.Sina.Util.Couter'); $object = new \Counter();
アプリケーション クラス ライブラリ
アプリケーション クラス ライブラリは通常、クラス ライブラリは、アプリケーションまたはモジュール ディレクトリの下にあります。アプリケーション クラス ライブラリの名前空間は通常、モジュールです。名前はルート名前空間です。例: Home\Model\UserModel クラス (Application\Home\Model にあります)
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
}
Common\Util\Pay クラス (次の場所にあります) Application\Common\Util 内)
namespace Common\Util; class Pay { }
Admin\Api\UserApi クラス (Application\Admin\Api にあります)
namespace Admin\Api; use Think\Model; class UserApi extends Model{ }原則を覚えておいてください。名前空間のパスが実際のファイル パスを使用すると、直接インスタンス化中に自動ロードを実現できます。
推奨チュートリアル: 「PHP ビデオ チュートリアル
以上がThinkphp フレームワーク拡張などのライブラリ拡張操作の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。