Должен кто-то без опыта PHP использовать платформу как CakePHP или Symfony?

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

16
задан 16 August 2010 в 01:02
поделиться

10 ответов

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

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

  1. URL-адрес запрашивается и маршрутизируется через центральный файл index.php начальной загрузки.

  2. Имя URL-адреса используется для получения имя класса и имя метода (и метод действия). Это ваша основная точка входа, с которой вы начинаете писать PHP для обработки запроса

  3. В конце этого метода управление передается шаблону представления, который имеет доступ к определенным значениям, которые вы установили на втором шаге.

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

Да, в игре будет много другого кода PHP-фреймворка, но вам никогда не придется на него смотреть.

Да, фреймворк будет иметь множество функций и / или «предпочтительный» способ решения проблем, но вам нужно использовать только те, которые вы сразу понимаете.

Когда вы начинаете замечать паттерны уродливого, скучного или небезопасного кода, взгляните на функции фреймворка еще раз. Чаще всего после того, как вы «ошиблись», вы поймете, почему код фреймворка сделал что-то определенным образом, и вы будете счастливы передать ответственность (я бы сказал, что модели стиля ActiveRecord vs.Здесь очень важен код SQL)

Когда вы начнете использовать объектно-ориентированные системы, предоставляемые фреймворком, вы начнете интересоваться, как они делают определенные вещи, а затем вы сможете начать копаться в основном коде фреймворка.

20
ответ дан 30 November 2019 в 21:27
поделиться

Безусловно. Фреймворки сделают за вас весь шаблонный код, обеспечивая более высокий уровень абстракции. Вам, вероятно, будет проще писать код, не обращая внимания на некоторые особенности PHP.

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

4
ответ дан 30 November 2019 в 21:27
поделиться

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

1
ответ дан 30 November 2019 в 21:27
поделиться

На мой взгляд, нет ничего плохого в изучении фреймворка одновременно с изучением языка. Уже существует немало ситуаций, когда это происходит по необходимости. Например, большинство людей, изучающих Objective-C, одновременно изучают фреймворки Cocoa, большинство программистов на C # изучают .Net вместе с ним, даже JDK следует рассматривать как фреймворк, который вы изучаете вместе с языком Java. Как бы то ни было, я заранее изучил фреймворк Symfony с очень небольшим опытом работы с PHP.

0
ответ дан 30 November 2019 в 21:27
поделиться

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

Однако если вы работаете с "stateful" или вообще не работаете, абстракции, предлагаемые фреймворком, могут стать проблемой. Вы должны хотя бы знать, как работать с сессиями, cookies, заголовками, $_POST и т.п. в обычном PHP, прежде чем абстрагироваться от этих деталей с помощью фреймворка. Также смотрите этот мой предыдущий ответ.

1
ответ дан 30 November 2019 в 21:27
поделиться

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

0
ответ дан 30 November 2019 в 21:27
поделиться

Хотя я фанат фреймворков, я согласен с некоторыми другими комментариями выше. Начало работы с фреймворком может быть довольно запутанным, особенно если вы не знакомы с теорией объектно-ориентированного программирования (ООП) Model View Controller (MVC).

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

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

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

0
ответ дан 30 November 2019 в 21:27
поделиться

Я видел несколько человек (с большим предыдущим знанием ООП), которые изучали PHP и symfony одновременно без трудностей.

Фактически, переход от PHP к объектно-ориентированному языку сводится к изучению нескольких концептуальных вещей, синтаксиса и API самого PHP.

0
ответ дан 30 November 2019 в 21:27
поделиться

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

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

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

Также решающим фактором будет ваш выбор PHP-фреймворка. Если вы используете PHP-фреймворки, такие как Codeigniter, Yii, может быть, даже CakePHP, которые имеют сравнительно меньшие кривые обучения, вы найдете свой путь на PHP хорошо вымощенным. Хотя, если вы выберете какой-нибудь фреймворк, такой как Symfony, Zend, вы можете разочароваться, потратив слишком много времени на выполнение простых вещей, что, в свою очередь, взорвет ваш проект.

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

Надеюсь, это поможет в принятии решения.

0
ответ дан 30 November 2019 в 21:27
поделиться

Я бы посоветовал вам начать с PHP-туториала на w3schools.com. Это коротко и понятно. Вы можете изучить все необходимые основы за один-два часа. Это вам понадобится для понимания любой структуры. Затем изучите первую и вторую главы из кулинарной книги CakePHP и создайте свои первые приложения CakePHP, используя их учебные пособия . В остальном я согласен с Аланом Стормом.

0
ответ дан 30 November 2019 в 21:27
поделиться
Другие вопросы по тегам:

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