Intereting Posts
Прочитать файл на сетевом диске Почему dir_module НЕ загружается, хотя, очевидно, он загружается в папку httpd.conf и modules? CSV без кавычек, не работающих с fgetcsv Приоритет PHP-оператора «Неопределенный порядок оценки»? Межмодульная связь Ошибка mPDF: некоторые данные уже были отправлены в браузер Как получить доступ к API Google Analytics из службы поддержки на стороне сервера? Исправление исключения при создании нового SoapClient Хотите показать Дерево каталогов сервера (PHP) на стороне клиента с помощью FLEX? Создайте CSV-файл с помощью PHP и сохраните его в каталог Как захватить значения из ячеек таблицы HTML с помощью JavaScript Как сохранить русские символы в кодированном файле UTF-8 jQuery hover не работает с динамическими элементами Использование .htaccess для изменения показа каталога в URL-адресе Сохранение выбранного элемента в поле выбора после отправки

Добавление функций в ядро ​​PHP

У меня есть несколько функций, которые я написал и регулярно использую на своих серверах, есть ли способ добавить их в ядро, поэтому мне не нужно включать их из внешних файлов?

Я запускаю PHP5

Solutions Collecting From Web of "Добавление функций в ядро ​​PHP"

Вы можете добавить свои библиотеки в качестве расширения PEAR . Затем вы можете добавить его в локальный репозиторий PEAR . Груша добавлена ​​в путь включения по умолчанию в php.ini. Затем вы можете просто использовать «груша установить myextension» на своих машинах.

Если это C-функции, с которыми вы работаете в php (php extensions), вы можете сделать что-то подобное с PECL .

Я сделал это раньше … это довольно сложный процесс, но не так уж плохо. Эта статья на zend.com должна рассказать вам все, что вам нужно знать:

http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/

edit: Я должен добавить, что есть лучшие способы достичь сути того, что вы пытаетесь сделать. Помните, что выполнение этого еще больше загромождает пространство имен PHP (уже очень загроможденное). Вам, вероятно, лучше всего сделать глобальный файл include, в котором есть все ваши наиболее часто используемые функции, которые вы включаете там, где вам это нужно.

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

Если вы хотите, чтобы ваша функция всегда была доступна, не включая ее, сделайте следующее:

Создайте свою функцию в файле php.

В вашем php.ini найдите параметр «auto_prepend_file» и добавьте ваш php-файл в эту строку, например: auto_prepend_file = "/path/to/my_superglobal_function.php"

Или, если вы пишете без такого пути: auto_prepend_file = "my_superglobal_function.php" Он будет искать в вашем include_path в php.ini, чтобы найти файл.

Почему именно так сложно включать файлы, в которых они вам нужны?

Я полагаю, что директива auto_prepend_file PHP.ini может работать. Но это не рекомендуется.

Если вы получили автозагрузку , вы можете переместить функции как статические методы класса, например My_Functions.

Или для деления его на большее количество файлов вы можете использовать My_Functions_Math. Тогда вам нужно будет только загрузить нужные вам функции. И с автозагрузкой вам не нужно беспокоиться о включении файлов.

Вы не можете использовать функции автозагрузки имен, поэтому, если вы хотите использовать autoload, функции должны быть статическими методами в классе. Но вы можете использовать пространство имен, чтобы упростить замену класса fx в будущем и / или сократить длинное имя класса. Пример:

use My\Functions\Math as Math; Math::calcThis($i);