Я пытался узнать о классах в PHP, и часть моего учебного процесса была в том, что я изучал различные библиотеки и тому подобное.Конечно, у меня осталось много вопросов, вот один из них.
При просмотре некоторых библиотек, основного файла, который вы вызываете для вызова библиотеки, они вызывают каждый из файлов библиотеки, вызывая их напрямуюНапример, вот как это делает библиотека диаграмм PHP:
<?php
require_once 'model/ChartConfig.php';
require_once 'model/Point.php';
require_once 'model/DataSet.php';
require_once 'model/XYDataSet.php';
require_once 'model/XYSeriesDataSet.php';
require_once 'view/primitive/Padding.php';
require_once 'view/primitive/Rectangle.php';
require_once 'view/primitive/Primitive.php';
require_once 'view/text/Text.php';
require_once 'view/color/Color.php';
require_once 'view/color/ColorSet.php';
require_once 'view/color/Palette.php';
require_once 'view/axis/Bound.php';
require_once 'view/axis/Axis.php';
require_once 'view/plot/Plot.php';
require_once 'view/caption/Caption.php';
require_once 'view/chart/Chart.php';
require_once 'view/chart/BarChart.php';
require_once 'view/chart/VerticalBarChart.php';
require_once 'view/chart/HorizontalBarChart.php';
require_once 'view/chart/LineChart.php';
require_once 'view/chart/PieChart.php';
?>
Однако я смотрю на другую библиотеку, и они просто автоматизируют процесс, вызывая каждый файл в каталоге с помощью метода автозагрузки PHP, например:this (Из руководства по php):
function __autoload($name) {
echo "Want to load $name.\n";
throw new Exception("Unable to load $name.");
}
Мне просто интересно, есть ли какое-либо преимущество или недостаток в том, чтобы делать это способом автозагрузки?