namespace A\B\C;
class Exception extends \Exception {}
$a = new Exception('hi'); // $a - это объект класса A\B\C\Exception
$b = new \Exception('hi'); // $b - это объект класса Exception
$c = new ArrayObject; // фатальная ошибка, класс A\B\C\ArrayObject не найден
Основной репозиторий монолитен и аггрегирует в себе сразу все компоненты, в том числе и те, которые работают с AWS SDK, sendgrid, imagine и ext-mongo, отсюда и представленные зависимости.
Ничего не мешает использовать только необходимые части, как в Symfony.
Все тоже самое, что и в других фреймворках, просто часть кода поставляется бинарником в виде экстеншна (например, как встроенный в PHP класс DateTime). Для IDE есть devtools, с ними нормально работает автоподстановка и быстрый доступ к докам.
Bruno is a coder from Croatia with Master’s Degrees in Computer Science and English Language and Literature. He’s the editor of SitePoint’s PHP channel and a developer evangelist for Diffbot.com. He avoids legacy code like the plague and when picking projects makes sure they’re as cutting edge as possible. He’s a treadmill desk enthusiast and active (board)gamer who sometimes blogs.
Тут речь идет о разработке «for developers» приложений/библиотек/фреймворков/языков. Их основная задача как раз сделать так, чтобы можно было красиво и удобно разрабатывать.
Документация
Тут скорее полезно именно добавление абстрактного
\BaseException
, после которого уже не будет возникать подобных случаевИспользование пространств имен: переход к глобальной функции/константе
Ничего не мешает использовать только необходимые части, как в Symfony.
Все же есть phalconphp.com/en/download, только еще не успели собрать под версию 2.0
github.com/kenjis/php-framework-benchmark
zelenyikot.livejournal.com/68490.html
www.sitepoint.com/author/bskvorc/
1. В
PostRepository
хранится жеauthor_id
или что-то подобное, а значит можно сформировать критерий для фильтрации и вытащить нужные посты2. Репозиторий — это паттерн для интерфейсов, которые работают с хранением данных, не реализация
Тренды гугла