Архив категории ‘PHP’
Недавно столкнулся с одной интересной особенностью роутинга в Laravel 3, который в документации слабо освещен. Я использую Laravel 3 по всем канонам MVC. То есть вся логика работы с базой данных находится в моделях, представления отвечают за вывод данных, а контроллеры управляют всем этим процессом. Laravel 3 позволяет обходиться вообще без контроллеров — но такой […]
Продолжаем тему работы с именем текущего класса. Задача – определить имя текущего класса. Читаем мануал и находим множество способов выполнения задачи.
Казалось бы, простая задача: определить имя текущего класса. У PHP есть несколько функций и констант для получения имени класса. Но все они возвращают результат вместе с пространством имен (namespace). Получить только имя класса невозможно! В конце статьи – маленький бонус: преимущества от использования PHP 5.4.
Есть консольный скрипт. Скрипт получает набор данных, обрабатывает, записывает результат в БД, отмечает статус выполнения. Если этот скрипт запустить с небольшим интервалом два и более раз, то возможна ситуация, при которой запущенные в разное время скрипты могут обрабатывать одни и те же данные.
Недавно столкнулся с интересной задачей. Конвертация кодировок налету. Мои скрипты, отрабатывающие по CRON’у сохранены в кодировке Win-1251. Весь вывод скрипта является отчетом, который автоматически приходит на мою гугл-почту, которая открывает письма как UTF-8. В итоге отчеты были нечитабельны. Не конвертировать же каждую строку при выводе в UTF-8?
Часто возникает необходимость подгрузить из одного скрипта другой. Всё хорошо, когда эти скрипты физически расположены в одном каталоге. Делаем include и нет проблем. Проблемы возникают при развитой системе скриптов. Когда исполняемые файлы сгруппированы по каталогам и нужно настроить взаимодействие между ними. Для себя я решил, что проще всего понять где находится корневой каталог и уже […]
Внезапно перестал работать простой скрипт. Задача скрипта – получение HTML-страницы (из браузерной игры) и выборка данных с помощью регулярных выражений. У меня как у новичка это событие вызвало недоумение и легкую панику: ведь все еще вчера работало! В чем же дело? Пришлось досконально разбираться в работе некоторых PHP-функций.
Сегодня я расскажу об одном интересном способе предоставления доступа к закрытой информации. В примере я буду использовать фреймворк CodeIgniter v1.7, но приведенный метод легко переносится в любое приложение. Суть метода заключается в следующем. Есть контроллер, доступ к которому необходимо ограничить. По каким-то причинам использование авторизации невозможно. Мы создаем специальную ключ-ссылку. Любой, кто зайдет по такой […]
Laravel – динамично развивающийся фреймворк. Новые версии выходят часто. Как проверить работоспобность новой версии на боевом сайте? У меня есть сразу три элегантных решения.
Скачав последнюю версию laravel и настроив рабочее окружение, попытался выполнить в консоли: php artisan migrate:install could not find driver Как видите: тут меня ждал облом. Вначале я стал грешить на неверные настройки mysql. Но сам сайт великолепно работал. И я пошел гуглить. Не буду описывать все попытки решить данную проблему. Сразу приведу 2 готовых совета.