February 1, 2008 at 9:32 pm
· CakePHP
Практически на всех сайтах есть навигация в виде меню. К сожалению, в CakePHP нет хелпера, который бы помогал делать меню автоматически. Это вполне реализуемо, ведь на семантически правильно свёрстаных сайтах меню делается одинаково: <ul><li>…
Читать полностью >>
Permalink
January 30, 2008 at 12:25 am
· Куски кода
На некоторых форумах, если перейти на них с поисковика, подсвечиваются ключевые слова, которые были заданы в поиске. Это помогает быстрее найти нужную информацию. Теоретически можно пойти дальше и немного менять страницу в завимости от категории поискового запроса посетителя.
Читать полностью >>
Permalink
January 28, 2008 at 6:43 pm
· CakePHP, Куски кода
Рано или поздно у каждого программиста возникает желание написать свой Smarty
.
Называются разные аргументы – более быстрый, гибкий, удобный и так далее.
После того, как я начал пользоваться CakePHP ко мне неожиданно пришло просветление – это было как раз то, что я хотел. Но иногда возникают задачи, когда действительно нужны простейшие шаблонизаторы и CakePHP становится слишком тяжёлой артиллерией.
Читать полностью >>
Permalink
January 10, 2008 at 2:49 pm
· Куски кода
Распростанённый формат передачи настроек FTP-соединения – это ftp://user:password@host:port/path/, где обязательным является только host. Но для работы с FTP надо разбирать эту строку. Я написал себе небольшую функцию для этого.
UPD: Когда я писал это, то забыл о том, что есть стандартная функция parse_url. Зато моя подставляет логин, пароль, порт, если они не указаны, что удобно для подключения к FTP-серверам с анонимным доступом.
Читать полностью >>
Permalink
December 25, 2007 at 9:25 pm
· Офф-топик
Примерно месяц назад я предложил назвать недостатки CakePHP по сравнению с другими PHP-фреймвоками. И, надеясь, подогреть интерес, предложил 2 небольших приза – за то, что приведут посетителей и за то, что назовут самый-самый недостаток.
Читать полностью >>
Permalink
December 8, 2007 at 6:37 pm
· Куски кода
В каждом сборнике советов о том как сделать блог более популярным есть “Напишите Top10 чего-то”. Вот я решил написать Top10. Но как истинный программист, вместо 10 бессмысленных фактов написал алгоритм как правильно выбирать Top10 чего-то.
Допустим, у вас есть сайт со статьями и вы хотите сделать Top10 статей, учитывая количество их просмотров. Не торопитесь, подумайте сначала, зачем вы хотите это сделать. Наверное, чтобы показать людям статьи, которые могут быть им наиболее интересны. Но показывая одни и те же Top10, вы искусственно увеличиваете количество просмотров статей, которые находятся в топе и они, возможно, случайно туда попав, уже никогда не исчезнут. В то же время посещаемость надо учитывать, потому что всё же корреляция посещаемость-интересность есть.
Читать полностью >>
Permalink
December 6, 2007 at 6:03 pm
· CakePHP
Некоторые задачи не совсем укладываются в парадигму Model-View-Controller, потому что у них нет как такового View. Они просто тихо делают свою задачу (backup, импорт/экспорт, оптимизация, удаление,…) и выдают либо, что всё ОК, либо ошибку. Раньше я для большинства таких задач использовал exit/die. Но это как-то не красиво.
Читать полностью >>
Permalink
December 5, 2007 at 10:14 am
· Куски кода
В Delphi есть такой приятный оператор div – деление нацело. То есть 7 div 3 = 2, 7 mod 3 = 1. В PHP есть аналог mod – 7 % 3 = 1, а вот есть ли аналог div я постоянно забываю 
Самое интересное, что алгоритм выяснения постоянно одинаковый. Я захожу на php.net/случайная_функция (кстати, удобнейшый вид вызова справки и самый простой способ добраться до мануала не выбирая версию online и язык), там нахожу php.net/manual/en/language.operators.arithmetic.php и ругаюсь, потому что аналога нет.
Казалось бы, Вова, что сложного написать floor($a/$b)? А вот нет, меня потянуло читать комментарии в которых часто есть хорошие советы и куски кода.
Читать полностью >>
Permalink
December 4, 2007 at 12:42 pm
· CakePHP, Модели
Когда накапливается больше 20 контроллеров и моделей, то начинает казаться не такой уже и хорошей идея жёсткого закрепления папок, куда нужно помещать файлы определённого типа. Конечно, есть $modelPaths и $controllerPaths, но каждый раз назначать их вручную не так уж и приятно.
Читать полностью >>
Permalink
December 3, 2007 at 9:37 pm
· CakePHP, Компоненты
Для моего текущего проекта необходимо определять на каком языке пользователь вводит информацию. Причём это не сложный выбор между PHP и Perl, а, например, между английским и испанским. Сначала я хотел составить список самых распространённых слов в популярных языках – предлоги, частые глаголы и т.д. Почти сразу я понял, что точность будет небольшая, а работы – очень много, даже, если её буду делать не я
.
Поэтому пришлось думать дальше. Мне больше всего понравился способ, в котором учитывается частотность букв, двух-, трёх- и четырёхбуквенных сочетаний.
Читать полностью >>
Permalink