Laravel не создает файл autoload.php в папке vendor?

Правила панорамирования Python для barenames очень просты и понятны: сначала локальное пространство имен, затем (если есть) внешние функции, в которых текущий вложен, затем глобальные, наконец, встроенные. Это все, что когда-либо случается, когда открывается barename, и нет необходимости запоминать или применять какие-либо сложные правила (и нет никакой необходимости, чтобы компилятор Python применял более сложные правила).

Каждый раз, когда вы хотите другой поиск, вы будете использовать квалифицированное имя, а не простое имя. Квалифицированные имена значительно более мощные, потому что поиск всегда может быть делегирован объектам, чьи атрибуты могут быть запрошены, и этот объект может реализовать любые правила поиска, в которых они нуждаются. В частности, в методе экземпляра внутри класса self.x есть способ запросить объект self для поиска имени атрибута 'x' - и в этом поиске он может делегировать классы , включая реализацию концепции наследования (и множественного наследования, порядка разрешения метода и т. д.).

Тело класса (в отличие от тел методы, определенные в классе) выполняется как часть оператора class, прежде чем объект класса будет создан или его имя привязано (в частности, прежде чем любая из баз будет определена как основание), хотя эта последняя деталь никогда не может

Итак, в вашем примере, в классе B, barename x просматривается с помощью универсальных правил - это имя связано локально? Если нет, то он связан в любой внешней функции, в которой этот объем вложен? Если нет, то он связан как глобальный или встроенный? Если ни одно из вышеперечисленных вопросов, использующее указанное имя barename, не вызывает исключения из-за ошибки имени.

Поскольку вы хотите, чтобы другая последовательность поиска, чем правила поиска в barename, универсально соблюдались, тогда, очевидно, вам нужно использовать квалифицированный имя, а не barename; и мгновенное отражение ясно покажет, что «один очевидный выбор» для квалифицированного имени, используемого для вашей цели, должен быть A.x - так как вы хотите , чтобы он был поднят ( базы не были записаны нигде еще в этой точке, в конце концов ... это будет метакласс, обычно type, который будет делать привязки баз как часть своей работы, когда он получает после выполняется тело класса! -).

Некоторые люди так остро привязаны к другим «магическим» правилам поиска барменов, которые они просто не могут выдержать этот аспект Python (изначально вдохновленный, по-моему, Modula-3, малоизвестный язык, который очень хорошо рассмотрен в кругах теоретиков ;-) - нужно написать self.x в методе, чтобы указать, что x должно быть посмотрел на self, вместо того, чтобы использовать универсальные правила barename, например, диски таких людей, батты.

Мне нравится простота и универсальность правил поиска barename, и мне нравится использовать квалифицированный nam es вместо barenames в любое время, когда я хочу любой другой формы поиска ... но тогда не секрет, что я безумно люблю Python (у меня есть свои собственные ворчания - например, global x, поскольку инструкция всегда заставляет сканирование моего сайта, где я бы скорее написал global.x, т. е. global было встроенным именем для «текущего исполняемого модуля» ... Мне нравятся квалифицированные имена! -), это? -)

0
задан Adam G 18 January 2019 в 01:47
поделиться

2 ответа

Git - это система контроля версий, используемая для отслеживания изменений в компьютерных файлах. Это инструмент для управления вашим кодом & amp; История файлов при координации работы удаленно над этими файлами с другими. Просто установите git и начинайте. Вы можете скачать его на www.git-scm.com. В версии laravel 5.7 вам понадобится git

.
0
ответ дан Emmanuel Nwolisa 18 January 2019 в 01:47
поделиться

Git - это инструмент, используемый многими разработчиками для извлечения необходимых файлов, чтобы их приложение работало.

Просто зайдите на git-scm.com и установите git.

Я считаю, что вы не можете использовать laravel без git, установленного в вашей системе.

В этом случае laravel пытается загрузить PHP Console Highlighter, который был размещен на github.com. Он использует команду "git clone", чтобы получить копию этого хранилища. Вот почему вам нужно установить git.

0
ответ дан kapitan 18 January 2019 в 01:47
поделиться
Другие вопросы по тегам:

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