Платформа PHP наверху [закрывается]

15
задан mattbasta 2 August 2010 в 18:24
поделиться

5 ответов

Использование или неиспользование инфраструктуры означает, что вы делаете выбор между

  1. Производительность приложения по умолчанию под нагрузкой

  2. Скорость / стабильность разработки

Если вы решите не использовать фреймворк, вам все равно нужно делать то же, что и фреймворк. Вы просто сами кодируете их на чистом PHP или разрабатываете свой собственный фреймворк, который может оставаться легким, поскольку он должен делать только то, что вы хотите, а не то, что мир хочет от него. Вы получите лучшую производительность, но потратите больше времени на разработку и отладку кода, который фреймворк обрабатывает за вас автоматически.

Фреймворк дает вам скорость во времени разработки . Вам не нужно писать длинные сложные SQL-запросы или отлаживать чужие длинные сложные SQL-запросы. Вам просто нужно создать таблицу и создать экземпляр модели.Вам не нужно решать, где вы собираетесь избегать параметров SQL, потому что структура определяет, где это происходит. Вам не нужно ввязываться в огромные политические баталии из-за того, где идет бизнес-логика против логики представления, потому что это определяет структура. Фреймворк устраняет необходимость в том, чтобы в вашей команде был разработчик системы, или избавляет вас от необходимости думать / тратить время на разработку системы. Вы можете быстрее приступить к написанию кода своего приложения и быстрее получить измеримые и видимые результаты.

Вот еще один способ думать об этом. PHP Framework медленнее, чем PHP, но сам PHP медленнее, чем C. Почему бы не написать свое приложение прямо на C?

Здесь нет правильного ответа, это один из тех вопросов проектирования / разработки программного обеспечения, который зависит от вашей текущей ситуации требования. В наши дни отрасль по умолчанию выбирает фреймворк, потому что, если вы этого не сделаете, ваши конкуренты выпустят приложение, которое имеет более медленную обработку PHP, чем ваше, но выйдет на рынок на три месяца раньше.

Наконец, последнее, о чем следует подумать из этого выступления. Расмус сказал, что в большинстве случаев производительность вашего приложения оценивается во внешнем интерфейсе . И код Javascript, и то, как браузер кэширует запросы, которые он отправляет обратно на ваш сервер. PHP - ужасный, ужасный язык, который редко является узким местом. Когда это узкое место, вы обычно можете внести несколько корректировок (кэш кода выбора, сфокусированный рефакторинг), которые устранят узкое место производительности.

31
ответ дан 1 December 2019 в 00:32
поделиться

возможно, вам стоит обратить внимание на категорию легких фреймворков. есть fat-free, doophp, limonade и т.д. они легкие, но не менее мощные, чем вы думаете. не полагайтесь на опубликованные бенчмарки. вместо этого сравнивайте со своими собственными целями.

8
ответ дан 1 December 2019 в 00:32
поделиться

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

Но в большинстве случаев вам не стоит беспокоиться об этом. Я использовал Symfony (версии 1.2 и 1.4) в ряде проектов и ни разу не подумал "это слишком ресурсоемко". Я с радостью пожертвую некоторыми ресурсами в обмен на все инструменты, которые предоставляет фреймворк, который делает мою жизнь проще, а работу - менее трудоемкой ;)

.
3
ответ дан 1 December 2019 в 00:32
поделиться

Насколько мне известно, CodeIgniter - это немного более легкий фреймворк. Большинство людей, которых я знаю, используют CodeIgniter вместо CakePHP. Но я использую CakePHP уже несколько лет.

Если вы действительно беспокоитесь о масштабировании, с самого начала взгляните на использование решения NOSQL, такого как MongoDB или CouchDB. (Я использую MongoDB, и для большинства приложений mongo может заменить MYSQL). Помимо внешнего интерфейса, вызовы базы данных часто замедляют вас.

Еще одна вещь, которую следует учитывать, - это наличие очереди отложенных рабочих. Для такого, как обработка изображений в миниатюры, часто лучше иметь отдельный процесс, занимающийся этим, и не заставлять пользователя ждать.

Практически все крупные веб-сайты используют кеширование. Кэширование баз данных и кеширование HTML. Вы можете посмотреть на MEMCACHED, который почти каждый, кто много использует и хранит ваш кеш в памяти. MongoDB также сообщает о скорости memcached при вызове данных.

Как все здесь говорят, в основном не масштабируется не структура. Это вся ваша архитектура.Я не рассматривал другие легкие фреймворки, но если вы выбираете между CakePHP и CodeIgniter, я бы лично выбрал CodeIgniter. Также просто убедитесь, что вы продолжаете рефакторинг своего кода с течением времени, это даст вам возможность вносить изменения, ускоряющие работу вашего приложения.

0
ответ дан 1 December 2019 в 00:32
поделиться

Я использовал CakePhp только в гневе в течение нескольких лет. Да, он большой и может показаться раздутым, но, честно говоря, я думаю, что если бы я использовал какой-либо другой фреймворк, он был бы таким же большим к тому времени, когда я добавил все, что у меня есть, и использовал с Cake.

Что касается скорости, мы говорим о небольшой разнице в доли секунды между соперниками. Оптимизация вашего сайта с помощью таких инструментов, как Yslow и gzip, и, конечно же, разумного дизайна принесет больше улучшений, чем выбор фреймворка.

http://www.grasset.es - это сайт, который я построил около 4 лет назад с помощью Cake. Он большой и сложный, но не думаю, что он медленный.

1
ответ дан 1 December 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: