Thinkphp フレームワーク拡張などのライブラリ拡張操作の分析

coldplay.xixi
リリース: 2020-06-09 12:02:17
転載
2898 人が閲覧しました

Thinkphp フレームワーク拡張などのライブラリ拡張操作の分析

#Thinkphp フレームワーク拡張などのライブラリ拡張操作の詳細説明

この記事は主にThinkphp フレームワーク拡張機能とその他のクラス ライブラリ拡張機能の操作を理解し、Thinkphp クラス ライブラリ拡張機能の関連する原則、実装方法、操作上の注意事項を例の形で分析します。必要な友人は、この記事の例を参照してください。

Thinkphp フレームワーク拡張機能とその他のライブラリ拡張機能の操作について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

ライブラリ クラス拡張機能

ThinkPHP のクラス ライブラリには、主にパブリック クラス ライブラリとアプリケーション クラス ライブラリが含まれており、すべてベースになっています。定義および拡張された名前空間について。仕様通りに定義していれば自動ロードが可能です。

パブリック ライブラリ クラス

パブリック クラス ライブラリは通常、ThinkPHP/Library ディレクトリにあるクラス ライブラリを指します。例:

Thinkディレクトリ: システム コア クラス ライブラリ

Org ディレクトリ: サードパーティのパブリック クラス ライブラリ

これらのディレクトリ下のクラス ライブラリは自動的にロードできます。対応するクラス ライブラリをディレクトリに配置するだけで済みます。次に、名前空間定義を追加または変更します。 Image.class.php ファイルを Org/Util/ ディレクトリに追加し、次のように名前空間を追加できます。

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート