つまり 同じクラスをいくつかのファイルで表現したい:
power_class.php
power_class_g1.php
power_class_g2.php
power_class_g3.php
これを正しく実装する方法は?
1.サイトを構築するクラスが1つあります。 このクラスには共通の機能があり、セクションごとに個別のクラスがあります。 各セクションのクラスを書く気はありません。 このクラスのファイルから関数を抽出する方が便利でしょう。 クラスを繁殖させることもalsoです。
2.私はZend Studioを持っています。このクラスの折りたたみ、デプロイの概念が好きではありません。 これらのIDEエディターはすべて時代遅れです。 大規模なプロジェクトでは、アスリートのようなフォルダーやファイルをダウンロードし、何十ものファイルやその他のrrを開かなければなりません。
通常、これを行います。各関数はファイルです。 そして、1つまたは複数のファイルに何らかの形で自動的に収集され、サーバーにアップロードされるように...または、たとえば、一般的に、リレーショナルデータベースに機能を保存するために...しかし、これは別の歌です。
編集者が今必要な機能を1つの編集ウィンドウに仮想的に収集できるようにしたいと思います。 たとえば、x.phpファイルの1つの関数、z.phpファイルの別の関数、別のクラスのそのようなクラスの関数...
3.プログラマーの思考は、ファイルシステムとテキストエディターの概念によって抑制されているように思えます。 データベースは長い間存在していますが、私たちはパパとファイルのレベルで考えています。
たとえば、大規模なプロジェクトでConvertという名前の関数を選択するには、検索ですべてのフォルダーとファイルがバイパスされ、リモートサーバー上にある場合は待機する必要があります。 そして、それらを編集しようとすると、10個のウィンドウで10個のファイルを開くことを意味します...
解決策
私は私の問題のそのような解決策を見ています。
1.複数のファイルからクラスを1つのファイルclass_power.phpに収集する関数が呼び出されます
テンプレートエンジンのように機能します
function compile_class(){
}
2.生成されたclass_power.phpが含まれます
3. class_power.phpに行くクラスの構造
class_main.php-クラスの構造を記述するファイル
クラスpowerclass
{
var $var1;
#class_part1.php#
#class_part2.php#
#class_part3.php#
}
class_part1.php-一連の関数としてのクラスの一部
class_part2.php-一連の関数としてのクラスの一部
class_part3.php-一連の関数としてのクラスの一部
したがって、同じ機能を持つ複数のファイルを収集することは可能ですが、これも役立つと思います。
別の解決策:
function load_mclass($class="power_class"){
$res[]="class $class{\n";
foreach(glob($class."*") as $c)
$res[]= "<?php", "class $class{", "}", "?>" file_get_contents($c);
$res[]="\n}";
$res $class.m.php
$class.m.php
}
これは、長いファイルに沿ってスクロールする時間を無駄にせず、意味や目的に関連する機能をグループ化し、同時にクラスの構造を失わないために必要です。