Изучаю php, читаю книгу "Создаем Динамические Веб-Сайты с Помощью PHP, MySQl, и Javascript" Автор Робин Никсон.
Так вот я уже знаю что такое, условия, циклы, функции, переменные, операторы, массивы, и switcher (на подобие elseif). Остановился я на 105 страницы книги, и чувствую мне не хватает практики, я понимаю как все это работает, но в голове не складывается как это связать в один код, какой алгоритм придумать, думал может создать игру на php, но не знаю как создавать картинку и функционировать её чтобы при клике на клавишу вверх машина ехала прямо. Так вот думаю может мне переходить на какой-нибудь фреймворк? На прицеле у меня Yii. И практики совсем нету, читаю по книги и так же печатаю на своем редакторе ну и применяю там всякие методы (меняю операторы и смотрю что получается). Что вы делали когда у вас были такие знания как у меня? Как дальше двигаться? Принцип php я понимаю как оно устроено и работает. Хочу услышать ваше мнение.
php не для разработки игр (по крайней мере на вашем уровне).
Хотите писать игры - делайте это на js, хотите изучать php - пишите сайты.
На данном этапе от фреймворков будет больше вреда, чем пользы - прежде чем учиться бегать, нужно научиться ходить.
Не рекомендовал бы фрейворк на вашем уровне знаний. Напишите в процедурном стиле что-то простое для практики - блог, гостевую, опрос. После этого у вас в голове сложится. Дальше вам надо будет ООП а уже потом фреймворки.
Можно ссылку пожалуйста где описывают как создавать гостевую книгу. Ну я вот одного не понимаю я буду копировать тупо код с статьи то как я буду получать знания? Я же тупо смотрю и печатаю код который написан, даже мозги не напрягаю.
HeartOfProgrammer: Хочешь напрягать мозги и в тоже время просишь статью с описанием готового решения. Сам пиши, а появятся конкретные вопросы - задавай.
HeartOfProgrammer: начать книгу надо с формы приёма записи, принять через форму запись, обработать, положить в БД а на другой странице вывести на экран. Всё просто но сначала надо почитать основы БД немного буквально INSERT и SELECT
на этом этапе следует побольше практиковаться, писать простые скрипты, не обязательно процедурные, можно и ооп, простенькие вещи так даже полезно будет, постепенно вникать в суть ооп, что касаемо фреймворка, лучше как и говорили выше не использовать пока, мое мнение сначала надо поучиться по практиковаться, затем попробовать малепусечный фреймворчик свой написать, а потом уже переходить на что то общеизвестное
О, я как раз делаю игры. Соглашусь php не для разработки игр, php это для простых сайтов с невысокими нагрузками. А игры это асинхронность и нагрузки, учите Node.js или что-то подобное.
Но насчет практики все верно, читая книжку, вы должны закреплять на практике прочитанное, фреймворк рано.
He11ion: отличный пример.
Нагрузка фейсбука лежит на базе данных, движок которой написан специально для фейсбука.
Больше половины нагрузки вк лежит на его джабер сервефре, написанном на Node.js, остальная нагрузка лежит на языке FastPHP, разработанном специально для вк и от пхп имеющее только его синтаксис.
Оба этих продукта изначально были написаны на PHP и обоим пришлось от PHP отказаться.
Фреймворк - это всего лишь набор интструментов и подготовленная архитектура (структура папок и итд), не более того. Чаще в любом фреймворке всего ты будешь пользоватся такими вещами как:
- Компонент валидации форм
- Прослойка над базой (ActiveRecord/Data Mapper)
- Роутер, контроллеры
Для того чтобы понять это, можно рассмотреть такую задачу:
Нужно написать электронную библиотеку, где будут такие фичи как: пагинации, фильтры над таблицей, сортировка и возможность управлять только зарегистрированным пользователям.
На фреймворке ты сделаешь это за час-полчаса. Без фреймворка будешь изобретать все иструменты для решения задачи с нуля и в лучшем случае сделаешь это за месяц.
Почти в любом фремворки - инструменты для этой задачи уже в коробке. По мимо, того эти инструменты хорошо оттестированы и проверены тысячими других программистов.