Вы можете включить длинные имена путей с помощью PowerShell:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name LongPathsEnabled -Type DWord -Value 1
Другая версия заключается в использовании групповой политики в Computer Configuration
/ Administrative Templates
/ System
/ Filesystem
:
Вот мое объяснение того, почему это лучшая практика:
Я думаю, реальное преимущество этого заключается в возможности беспрепятственно изменять источники данных. Добавляя дополнительный уровень абстракции в ваше приложение, ваши модели больше не представляют таблицу базы данных (на мой взгляд, никогда не должно быть), поскольку модель должна быть представлением данных (а не шлюзом к ним). Уровень доступа к базе данных должен быть инкапсулирован моделью, чтобы обеспечить большую гибкость.
Скажем, например, вашему приложению нужно было начать использовать службу SOAP или XML-RPC в качестве источника / хранилища данных. Используя подход сопоставления данных, вы получаете явное преимущество, так как у вас уже есть необходимая структура для добавления этих конкретных интерфейсов уровня данных без значительного (если таковое имеется) вмешательства в ваши существующие модели.
Если вы это сделаете, хотя? Это прагматический вопрос. Лично мне нравится быть спокойным, что я разрабатываю что-то гибкое и следует (согласованным) лучшим практикам. Однако только вы знаете, упростит ли создание и сопровождение ваших проектов создание более гибкого приложения сейчас или когда-нибудь в будущем.
Мне просто нравится ощущение, что я '
Это полезно, потому что вы можете сделать $ insert = new Model_Guestbook ($ param1, $ param2, $ param3);
- означает, что когда кто-то приходит в проект, он может создавать легко создать новый экземпляр без знания структуры базы данных (путем проверки интерфейса источника / модели). Это лишь одно из преимуществ этого метода:)