как я могу извлечь элемент в массиве? [Дубликат]

Отвечайте на свой вопрос; Посмотрите на PHP автозагрузку . Регистрация классов через автозагрузку делает его таким, что вам не нужно включать / включать всюду, что действительно оказывает положительное влияние на RAD (быстрая разработка приложений).

Мои мысли:

Превосходство в попытке выполнить такую ​​сложную задачу, ваш подход, как представляется, основан на передовой практике, такой как одиночные игры и фабрики.

Мне не нужна инъекция зависимости. OOP основан на инкапсуляции, впрыскивании одного объекта в другой, imo, прерывает эту инкапсуляцию. Когда вы вводите объект в другой объект, целевой объект должен «доверять», что ничего не изменилось в отношении введенного объекта, иначе вы можете получить необычное поведение.

Рассмотрите сопоставление имен между вашими классами (не PHP-интервал между именами, но префикс вашей структуры, например Zend, Zend_), это поможет вам зарегистрировать пространство имен, а затем, когда класс называется автозагрузчиком, убедитесь, что загружен соответствующий класс. Так работает Zend_Framework. Для специфики проверьте Zend_Loader_Autoloader . Система Symfony на самом деле делает этот шаг еще дальше; во время первого запроса он будет проходить через все известные местоположения, которые ищут файлы классов, затем он построит массив классов и путей к файлам, затем сохранит массив в файле (кэширование файлов), поэтому последующие запросы не будут иметь те же накладные расходы. Что-то для вашей рамки.

Что касается файлов конфигурации, Symfony использует файлы YAML, которые я считаю чрезвычайно гибкими. Вы даже можете включить PHP-код для большей гибкости. Symfony предоставил автономный анализатор YAML , который прост в использовании. Вы можете увеличить производительность, добавив слой кэширования и кешировав анализируемые файлы YAML, поэтому вам не нужно разбирать файлы для каждого запроса.

Предполагаю, что вы создаете свою фреймворк поверх ORM. Моя рекомендация не связана с какой-либо функциональностью, характерной для версии ORM, иначе ваша инфраструктура будет сочетаться с этой версией, и вам придется одновременно обновлять ORM и структуру.

Я бы предложил посмотреть под капотом в других рамках и посмотреть, можете ли вы выбрать лучшее из каждого; в результате получается прочная, простая в использовании структура.

4
задан Alejandro Simkievich 21 January 2016 в 19:10
поделиться

1 ответ

Вы можете получить доступ к данным внутри 0-мерного массива с помощью индексации [()].

Например, score[()] будет извлекать базовые данные в вашем массиве.

6
ответ дан jpp 15 August 2018 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: