Ответ 1
Нет.
Точка входа Java определяется как метод main
. Точка входа PHP определяется как первая строка в первом файле, который выполняется. Вам нужно будет начать с "процедурного" кода.
Возможный дубликат:
Есть ли способ программирования 100% объектно-ориентированного в PHP?
То, что я пытаюсь выполнить, будет выглядеть примерно так:
<?php
//index.php
class Site{
public static function main(){
// starts all the processing of the site
}
}
?>
Итак, когда кто-то посещает сайт index.php
, сайт запустится без какого-либо кода вне класса.
Да, я знаю, что я мог бы использовать __autoload
или даже spl_autoload_register
для обработки автозагрузки классов, но это, скорее всего, нужно будет добавить за пределы класса.
У меня есть сомнения, что это возможно, но я не знаю, почему это было бы невозможно.
Нет.
Точка входа Java определяется как метод main
. Точка входа PHP определяется как первая строка в первом файле, который выполняется. Вам нужно будет начать с "процедурного" кода.
Вы можете написать свой класс сайта таким образом и сделать этот класс сконструированным, но для инициализации класса вам все равно потребуется файл записи. Вы можете "загружать" свой сайт с одной строкой в вашем индексном файле. Не похоже на большой ингибитор гибкости.
Итак, ответ будет не таким:)
Нет такой концепции из коробки с php. Вам нужно будет что-то либо в index.php, либо что-то в файле .htaccess, который перенаправляет пользователя в нужный файл, но класс всегда должен быть установлен кодом
Вы можете достичь этого очень простого bij с помощью .htaccess на вашем сайте:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Ваш index.php wil затем выполняет всю обработку. С помощью 1 строки процедурного кода вы можете создать класс и перейти оттуда.
<?php
//index.php
class Site{
public static function main(){
// starts all the processing of the site
}
}
Site::main()
?>
Смотрите мой учебник/блог.