2013-06-19 3 views
1

php - это язык сценариев, поэтому инструкция определения класса должна существовать после объявления или использования класса.Класс существует в том же файле

Почему в php возможно объявить и использовать класс, объявленный ранее в том же файле?

<?php 
var_dump(class_exists('TestClass'));#outputs true, why ? 
$obj = new TestClass(); 
$obj->hello(); 
var_dump('final'); 

class TestClass{ 
    function hello(){ 
     var_dump('hello'); 
    } 
} 

выхода:

bool(true) string(5) "hello" string(5) "final" 

Ответ: я создал пример понимать водрузили в JavaScript и PHP, смотрите в https://gist.github.com/AndresRicardoTorres/5815833

ответ

2

определения класса поднимается, так же как и определение функций (если они находятся в блоках условных операторов)

+0

класс и функции имеют глобальный охват, но мой вопрос касается выполнения заказа, wh y класс существует в начале –

+4

Ну, подумайте об этом так: Если я напишу 'echo 'Hello World!"; £ *%) («$ *% £ $) (« тогда будет ли отображаться «Hello World!» Перед ошибкой Parse? Нет, это не так. PHP обрабатывает файл в несколько проходов, каждый из которых делает что-то важное. –

+0

где нашел документацию о подъеме? почему в руководстве не упоминается? и где найдено о php-процессах? –

Смежные вопросы