ホームページ >バックエンド開発 >PHPチュートリアル >助けてください、来て私を助けてください。

助けてください、来て私を助けてください。

WBOY
WBOYオリジナル
2016-06-23 14:26:51894ブラウズ

MVC クラス継承の自動読み込み

最近、MVC 開発モデルを学習しています。ここで、クラスの自動ロードに関する問題が発生しました。たとえば、コントローラー AdminAction.php を作成し、同じディレクトリに FirstAction.php を継承したいのですが、最初に AdminAction を拡張する必要があります。 __autoload を使用できますか? ThinkPHP では、なぜ新しいアクションを直接作成し、その基本クラスのアクションを導入せずに直接継承できるのでしょうか?助けて教えてください

ディスカッションへの返信(解決策)

<?php // PHP5 Used __autoload function $obj_A = new clsA(); // in "cls" directory! $obj_B = new clsB(); // in "cls/cls" directory! function __autoload($className){ if(strtolowwer($className) == "clsb"){ require_once "cls/cls/$className.php"; }else{ include_once "cls/$className.php"; } } ?> 

// ./myClass.php<?phpclass myClass {    public function __construct() {        echo "myClass init'ed successfuly!!!";    }}?>// ./index.php<?php// we've writen this code where we needfunction __autoload($classname) {    $filename = "./". $classname .".php";    include_once($filename);}// we've called a class ***$obj = new myClass();?>

一般的に、このように行うには複数のクラスを使用しているようです

一般的に、それを行うには複数のクラスを使用しているようですこんな感じ
ああああ。まだ少し混乱しています。ゆっくり考えてみましょう。おっと、古い火事ですが、とにかくありがとう

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。