Ответы пользователя по тегу PHP
  • PHP Framework для бизнес приложений типа CRUD

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Sugar CRM, symfony 2 symf.ru/docs/html/book/forms.html
    Ответ написан
    Комментировать
  • PHP ООП

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Как вам посоветовали лучше почитать мануал php.net/oop
    Затем прочитайте фиолетовенькую www.ozon.ru/context/detail/id/2527057/ там мало ООП, как раз столько сколько нужно, плюс куча всего полезного, что вашнее ооп-шности. Я прочитал и пересмотрел более 2-х десятков книг по php, больше полезных нет, только мусор в голове заведёте, читайте фаулера — шаблоны корпоративных приложений и по java java.sun.com/blueprints/corej2eepatterns/Patterns/
    Ответ написан
    Комментировать
  • DDoS - как уменьшить нагрузку на php?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    это всё левак.
    у вас две проблемы:
    1. ddos — с ней борются не программисты в php, а в том же iptables админы, они лучше нас должны это зхнать.
    2. оптимизация с кэшированием в файл идея хорошая, но её основная идея — не поднимать apache + php. если уж поднялась эта тяжёлая связка, то оптимизация будет относительно спичечная. вам нужно одно правило в реврайте
    ReqriteCond /var/www/.../%{REQUEST_FILENAME} !-f
    RewriteRule ^(.*).html create_cache.php?id=$1
    собстенно проверяется существование файла, в случае его отсутствия будете генерировать, в случае наличия отдастся просто, легко и очень быстро обычный html
    Ответ написан
    Комментировать
  • Посоветуйте PHP IDE под Linux, написанную не на Java

    AmdY
    @AmdY
    PHP и прочие вебштучки
    как вам удаётся сделать, чтобы ide тормозила.

    у меня фреймворк включал свои библиотеки, Zend Framework, Smarty, Doctrine ORM, Ptototype (js). Всё нормально работало под Zend Studio 5.5 затем мигрировал на Zend Studio 6 (на Eclipse). Иногда притормаживало. НО. ВСЁ ЭТО БЫЛО НА Duron 800 + 512 оперативки. Из тюнинга применялось только обновление java машины.
    Ответ написан
  • Книги по синтаксису php для опытного программиста на других языках

    AmdY
    @AmdY
    PHP и прочие вебштучки
    в связи с наличием отличнейшего мануала на php.net с комментариями, смысла пересказывать его в книгах нет, поэтому книги либо поверхностные для чайников, либо связанные с паттернами и архитектурой.

    я обычно говорю, что по php стоит прочитать две книги — первую и шлосснейгла (Дж.Шлосснейгла «Профессиональное программирование на PHP»).

    отвечу на вопросы, потому что у вас есть ошибки.
    foreach использует отложенное копирование, переменные копируются только при изменении, но объекты передаются по ссылке начиная с версии 5.0 Для объектов можно подключить интерфейс Iterator из SPL
    Переменные и объекты удаляются когда ссылок на них стонавится 0, при удалении срабатывает метод __destruct, в 5.3 появился уборщик мусора. но основная фишка php в том, что не следует стараться самому удалять переменные, если это не cli, то пусть php сам чистит всё по окончании работы скрипта, оверхед из-за этого будет не чувствительный. про копирование нужно знать одну полезную фичу — расширение могут работать с памтью по своему и тем самым обходится лимит memory_limit и процесс начинает толстеть, но при этом memory_get_usage будет молчать как партизан.

    я работал с разработчиком, программирующим на плюсах. Основная проблема переоптимизация, из-за чего получается много кода, код путанный и сложно поддерживаемый, хуже всего — постоянное стремление сэкономить на ассоциативных массивах. Не считая cli приложений, php даже при самом раздолбайском кодинге не съест всю оперативку и проц, слабое место — сторадж, ширина и скорость канала передачи данных. Это справедливо для подавляющего большинства приложений.

    с вопросами лучше на phpclub.ru, мы может не самый дружественный форум, но зато профессиональный.
    Ответ написан
    Комментировать
  • Что выбрать: $someVar или $some_var?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    в php принято использовать PEAR стиль, нынче Zend Framework, это два самых мощных набора библиотек, которые можно легко интегрировать в свой проект. Будет очень неприятно, когда в проекте получится смешание стилей. лучше просто используйте его без раздумия, хотя есть масса плюсов и минусов.

    Если хотите разобраться с вопросом подробнее, то советую почитать Макконнелла: Совершенный код
    Это вом ещё раз докажет, что нет идеального подхода.
    Ответ написан
    Комментировать
  • Потоковая обработка файлов в PHP

    AmdY
    @AmdY
    PHP и прочие вебштучки
    посмотри в сторону расширений, которые использовались для ajax загрузки файлов с прогресбаром, сейчас используется apc, но есть ещё что-то в pecl, погугли.
    Ответ написан
  • Инструментарий для поиска тяжелых php(5.2)-скриптов и ресурсоемких запросов к БД (mysql 5.1) на сервере (freebsd 8.1)

    AmdY
    @AmdY
    PHP и прочие вебштучки
    xdebug для профайлинга и pinba pinba.org/wiki/Main_Page
    Ответ написан
    Комментировать
  • PHP библия

    AmdY
    @AmdY
    PHP и прочие вебштучки
    По PHP нужно прочесть две книги — первую, о синтаксисе, типа котеровской и Шлосснейгла oz.by/people/more909064.html, которая позволит перейти на новый уровень и перестать читать книги по php, а заняться архитектурой.
    Ответ написан
    2 комментария
  • Выбор быстрейшего php фреймворка?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    твоя главная ошибка — ты ориентируешься на абсолютные значения, а нужно интересоваться относительными цифрами. подключи к своему проекту что-то вроде pear.php.net/package/Benchmark/download,
    узнай цифры:
    1. Общее время
    2. Время отработки одного контроллера(экшина) C (включает MV)
    3. Время на запросы к БД (M)
    4. Время на обработку шаблона (V)
    смотри, что у тебя тянет больше времени и оптимизируй, не обращая внимания на абсолютные значения. Лучше, конечно, использовать xdebug для профайлинга.
    Но в любом случае, может получиться так, что тяжёдый фреймворк. при включённом кэше вдруг залетает, а лёгкий прибавит не много.
    Ответ написан
    4 комментария
  • Чем лучше кешировать в php?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    храните и дальше в memcache, зачем вообще перегружать сервер? вы данные забираете nginx-ом прямо из memcache? в чём проблема перегенерации кэша?
    Ответ написан
    Комментировать
  • Высоко нагруженный проект на PHP?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    ты уж определись, хайлод или зенд фреймворк.
    и главное не слушай тех, кто берётся советы давать при столь малых входных данных. хайлоды бывают разные и бутылочные места могут быть в разных местах.
    кстати, разработчики хайлодов проводят семинары spb-borodin.livejournal.com/596.html, есть масса статей по теме, прочитай как можно больше, чтобы увидеть разницу и понять, что нужно именно вашему проекту.
    а лучше делай сайт как обычно, если пойдёт, то найдешь сложные места и перепишешь. всё равно без опыта сразу правильную архитектуру спроектировать не получится.
    Ответ написан
    Комментировать
  • Чат на PHP: узкое место БД - как решить?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    пиши демона, алгоритм очень простой:
    1. скрипт на который отсылаются сообщений. не демон. сообщение кладёшь в базу и при желании в мемкэш, чтобы был доступен демону. я делал без мемкэша.
    2. демон, работает и в цикле перезаписывает файлик post.js в котором хранятся в json виде последних N сообщений. В определённый момент времени можно чистить таблицу и убирать старые посты вовсе или в другую таблицу.
    3. с сайта ajax-ок забираешь файлик post.js?r=случайное_число и обновляешь панель сообщений. т.к. забирается js, не поднимается php такую нагрузку выдержит даже apache.
    можно вовсе бд не использовать, оставив только memcache или пользуясь шареной памятью php.net/shmop
    Если нужно делить посты для пользователей, то генерировать не один файл post.js, а несколько /{user_key}/post.js и давать секретный ключ пользователям.
    Ответ написан
    1 комментарий
  • Хочу изучить MVC в PHP, с чего начать? Какой фреймворк выбрать для проекта?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Просто посмотри сюда
    martinfowler.com/eaaCatalog/modelViewController.html
    ещё картинка там же ссылка на описание всех запчасток системы.
    www.corej2eepatterns.com/catalog.
    затем лучше поковырать Zend Framework и начать программировать на Symfony.
    Но пока не прочел умную литературу лучше *не лезь* в php MVC фреймворки, говорю тебе как php-шник со стажем.
    Ответ написан
    Комментировать
  • Подскажите систему мониторинга за сложным PHP проектом

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Очень советую pinba pinba.org/wiki/Main_Page
    Ответ написан
    Комментировать
  • Напомните, пожалуйста, название PHPшного IDE

    AmdY
    @AmdY
    PHP и прочие вебштучки
    как правило все нормальные ide для php кросплатформенны.
    попробуйте бесплатный netbeeans, после беглого осмотра phpStorm v1 не нашёл ничего такого, чем бы он был лучше дабы отдавать за него денежку, возможно в новых версиях что-то изменилось.
    Ответ написан
  • Нагрузка от Doctrine

    AmdY
    @AmdY
    PHP и прочие вебштучки
    в доке доктрины есть раздел по производительности. а 3 метра — это смешно, учитывая, что кешер опкода сгладит этот оверфлов. кстати, у них в блоге про это писали.
    Ответ написан
    Комментировать
  • Почему singleton круче global?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Бред, вам дали ссылку выше на описание паттерна, глобалы решают другую проблему — сквозную передачу данных, в ООП имя ему Registry (Реестр). Реестр точно такой же кривой костыль, нарушающий архитектуру как и глобалсы, как и GOTO, лучше их не использовать. Заменить можно передачей в конструктор, инъекцией через set или IoC.
    Вот неплохая статья wiki.agiledev.ru/doku.php?id=ooad:manage_dependencies_in_php_code
    Ответ написан
    3 комментария