Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
Собираю библиотеку классов в пакет для упрощения установки. Не понятно что и как прописать в конфигурационных файлах, для того что бы классы данной библиотеки появились в пространстве языка без дополнительных команд в коде. К примеру как PEAR мы не прописываем require для того что бы использовать его классы они просто есть. Плохой пример Zend. Автоматическая подгрузка классов в приложении происходит но только после первого подключения. Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 11:01 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediver, __autoload() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:03 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
-k2-, не правильный ответ __autoload() он уже вызывается из пространства языка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:09 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
Барон Мюнхаузен доставал себя из болота за волосы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:11 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediver, не совсем понял что нужно? что значит в пространстве языка? пример приведите чего хотите добиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:12 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
r u, ну к примеру: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. Изопропил, Согласен что то есть такое. Но есть же расширения языка которые не требуют прописывания include в явном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:19 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:20 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverНо есть же расширения языка которые не требуют прописывания include в явном виде. ну опишите в __autoload откуда подгружать классы. и ненадо будет в явном виде прописывать include() если нужно несколько реализаций автоподгрузки, юзайте spl_autoload_register() ... чем неустравиает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:23 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
-k2-, Ничего страшного. r u, Тем что в этом случае придется явным образом подключать файл с функцией __autoload(). А именно этого хочется избежать. Хочется уйти от необходимости подключать что либо в явном виде. Просто поставили пакет и автоматом появились новые классы. Думал попробовать прописать что-то в auto_prepend_file, но это не совсем решение так там может уже что-то быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:37 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverТем что в этом случае придется явным образом подключать файл с функцией __autoload(). А именно этого хочется избежать. подругому никак. все так делают. и в чем тут проблема? подключить один раз, а далее все будет автоматом. или так: все равно же будет какойто файл-точка входа. с которого начнется выполнение скрипта? вот в нем и опишите эту функцию __autoload. дополнительно делать вручную инклюдов не придется. или вы просто незнаете как подгружать нужные вам файлы? подскаже. доступны магические константы __DIR__, __FILE__ и т.д. т.е. вы точно будете знать ГДЕ в данный момент находится выполнение скрипта. а зная эти пути - можно точно вычислить откуда брать остальные файлы с классами, чтобы работал автолоад. в общем я проблемы невижу. либо вы чтото недоговариваетео начальной задаче. может там есть какието ограничения еще? если есть озвучте их и чем они обусловлены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:48 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverК примеру как PEAR мы не прописываем require для того что бы использовать его классы они просто есть. PEAR - оно не на php написано, это native extensions. Ну перепишите свою библиотеку с php на С и подгружайте как extension из php.ini :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 12:56 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 13:23 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
?, Вообще-то PEAR на php это PECL нативный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 14:34 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
ScareCrow,? как работает функция __autoload я вроде как представляю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 14:36 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
r u, про магические константы я возможно сам смогу вам рассказать много интересного :) проблема в следующем, планируется библиотека, которую будут ставить из пакета контроль над библиотекаой и собственно над системой в процессе установки есть. Можно прописать все что необходимо в конфигурационные файлы. Использовать эту библиотеку будут люди с разные, очень разные, и гарантировать что они напишут __autoload нет ни единой возможности. Более того есть даже сомнения в способности прописать require_once в нужном месте. Вот по этому я и пытаюсь максимально упростить процесс подключения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 14:46 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverСобираю библиотеку классов в пакет для упрощения установки. Не понятно что и как прописать в конфигурационных файлах, для того что бы классы данной библиотеки появились в пространстве языка без дополнительных команд в коде. К примеру как PEAR мы не прописываем require для того что бы использовать его классы они просто есть. Плохой пример Zend. Автоматическая подгрузка классов в приложении происходит но только после первого подключения. Код: php 1. вы учитывали что в пхп есть директива, include_path или както так, и папка с пиар там прописана ...ну тоесть вам кажеться что оно само подгружаеться, а на самом деле, пхп ищет файл file.php , сначала в текущей директории, а потом по очереди в путях прописаных в директиве вышеуказаной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 14:52 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, поверьте я учел и это и многое другое, к сожалению нельзя ничего такого прописать в конфиг что б проинклюдилось безболезненно. И моя задача именно в том что бы той строчки кода которую вы процитировали не было. Что б класс сам прогружался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 14:57 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
вы определитесь или вы знаете пр оавтолоад или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:10 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediveralex564657498765453, поверьте я учел и это и многое другое, к сожалению нельзя ничего такого прописать в конфиг что б проинклюдилось безболезненно. И моя задача именно в том что бы той строчки кода которую вы процитировали не было. Что б класс сам прогружался. это не строчка кода, а директива в файле пхп ини повторю другими словами. то что вам показалось, что само подключаеться - это не само, это стоит путь в этой директиве. а чтобы пхп магически сам угадал что вы от него хотите, это извольте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:22 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediver, может мы вас не поняли... давайте по другому у меня есть мой сайт, хочу юзать ваш пакет, каким макаром мой пхп должен догадаться где найти ваш Class_super ??? я не про реализацию а про само идею...вот представте что пхп - єто умный мужик, вот он как должен догадаться??? мне кажеться мы не совсем вас поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:24 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Во!! Конструктив! вы делаете apt-get install superpackage ну или yum install superpackage В php.ini прописывается что-то что позволяет языку решить проблему сопоставления ClassName и /someFolder/ClassName.php Еще утром был уверен что данная проблема решена для каких-то библиотек. Сейчас уже сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:36 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
ScareCrow, я да, а вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:36 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverr u, про магические константы я возможно сам смогу вам рассказать много интересного :) проблема в следующем, планируется библиотека, которую будут ставить из пакета контроль над библиотекаой и собственно над системой в процессе установки есть. Можно прописать все что необходимо в конфигурационные файлы. Использовать эту библиотеку будут люди с разные, очень разные, и гарантировать что они напишут __autoload нет ни единой возможности. Более того есть даже сомнения в способности прописать require_once в нужном месте. Вот по этому я и пытаюсь максимально упростить процесс подключения. что же это за люди такие? которые даже __autoload не пропишут? :) Тем более если это в документации прописать... А про PEAR... это разве не библиотека для подключения расширений? те самые расширения например у меня прописываются в "/etc/php5/cli/conf.d/" А сами расширения представляют из себя скомпилированные библиотеки (на линуксе .so файлы). Вы не этого случаем хотите добиться? Если этого, то в чём проблема? )) Создайте бинарник или скрипт для никсов, который закинет нужную библиотеку куда надо и пропишет её как расширение для пхп :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:37 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverScareCrow, я да, а вы? тогда откуда у вас такой вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:39 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
Програмёр, ДА!!! именно это я и хочу :) Люди там очень, очень тяжелые, не русские и даже не индусы, совсем плохие. Вот думал что тут кто со скриптом поможет ибо вставка в php.ini Код: php 1. не помогла, все равно требует require прописать в явном виде :( Чую написание so обертки единственное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:49 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
авторне помогла, все равно требует require прописать в явном виде :( автор include_path string Указывает список директорий, в которых функции require, include, fopen(), file(), readfile() и file_get_contents() ищут файлы. Формат соответствует формату системной переменной окружения PATH: список директорий, разделенных двоеточием в Unix или точкой с запятой в Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 15:52 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
ScareCrow, правильно, и более того после прописания конструкты типа Код: php 1. начинают отлично работать, ну то есть не требуется писать полный путь но встроенный автозагрузчик, данные классы грузить не хочет а я не хочу давать конечному пользователю свободу что-то подключить или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:01 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediver, ответьте на мой вопрос, вот вы чтото проинсталили я хочу загрузить класс MyClass - я автозагрущик пхп. как я должен догадаться, что искать надо файл с таким же именем??? это не есть по умолчанию. хотябы изза разности подходов в плане большая малая буква... как я должен догадываться? mylib/MyClass.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:04 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, не знаю, как :) самому хочется узнать Видел что классы PEAR используются без include .... вот так же хочу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:07 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediver, ТЫНЦ и по подробней, это как библиотеки pear без инклуда. то что в со, оно в пхп ини подключаеться, то что без со...ввиде пхп кода, там же тоже надо проинлудить то что хочешь !!! или все пиар должны грузиться внезависимости от того надо оно будет или нет. -------- в препенд файле, обьявить автозагрущик, который сможет рыскать по твоей библиотеке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:27 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediverВидел что классы PEAR используются без include .... вот так же хочуГде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:31 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, думал :) беда в том что препенд может быть уже чем-то заполнен, очень часто в тестовых средах туда скрипт для подсчета покрытия вставляют чую so без вариантов, глядишь и быстрее работать будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:35 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
?, а я уже сомневаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:39 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
whitediver, потом юзер вам говорит: прежде чем ставить новую версию вашей библиотеки, хочу ее протестировать. Тестовый сайт на том же сервере, но в другом каталоге лежит. Как сделать, чтобы на основной сайт грузилась старая версия, а на тестовый новая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:43 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
Если тебя не смущает что твой класс будет цепляться вообще к любому выполняемому PHP скрипту, а не только там где надо, то можешь прописать путь к своему классу в php.ini в директиве auto_prepend_file auto_prepend_file Specifies the name of a file that is automatically parsed before the main file. The file is included as if it was called with the require function, so include_path is used. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:45 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
anvano, 15930538 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:50 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
?, да, обычные проблемы system-wide библиотек но специфика работы такова, что под тестовое окружение выделяют отдельный сервер собственно это и привело к необходимости запаковки кода в библиотеку <пакетный менеджер> install myLib это сильно проще чем скопировать файлы и что-то прописать в окружении.... даже если это заскриптовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:56 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
а не проще веб-инсталлятор написать, или скриптом? тот же pyrus посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 16:59 |
|
||
|
Автоматическая подгрузка классов в пространство языка.
|
|||
|---|---|---|---|
|
#18+
-k2-, особой разницы нет. Но так как в проекте кроме web\php части есть еще много нативных компонент проще использовать пакетный менеджер дистрибутива, для единообразия. Ну а веб инсталятор написать можно, но для этого нужно хотя бы приблизительно понимать в каких именно чужих проектах будет использоваться либа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2014, 17:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=23&tid=1462845]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 335ms |

| 0 / 0 |
