Здравствуйте! Осваиваю php пока учусь писать процедурным подходом, но и потихоньку изучаю ООП. Написал небольшой скрипт по статьям - добавление, удаление, редактирование, текст полной статьи. Кому не сложно и не жалко своего времени посмотри пожалуйста и дайте какие-нибудь рекомендации новичку (архив с БД https://drive.google.com/file/d/0B3ONVd1IhRHWQW90ZWpUdWM5czg/view?usp=sharing)
Независимо от того процедурный стиль вы используете или объектный - никогда не используйте mysql функции напрямую, оберните их собственными функциями. Например, расширение mysql давно устарело и вам сейчас надо его заменить на mysqli. В вашем текущем варианте вам надо пройтись по всем моделям (могла ведь быть и не одна, а сотня) + startup.php и заменить везде названия mysql функций. Если б у вас была обёртка, вам бы нужно было внести правки только в одном файле.
а еще лучше поставить пхп 7.0 и сразу учиться на последней стабильной версии, плюс все эти mysql и mysqli можно опустить и сразу начать использовать pdo
А что такое не использовать напрямую вы поняли? Видимо, нет. Суть в том, что у вас нигде не должно быть в файлах mysql функций, а они у вас везде. Вместо этого должен быть один файл с обёртками для этих функций и дальше вы уже из него используете обёртки, а не сами mysql функции. Например. везде, где у вас сейчас mysql_query, будет, например, db_query, а внутри неё уже вызов mysql_query. И сейчас, когда вам нужно заменить mysql_query на mysqli_query вам бы не пришлось это делать в каждом месте, где есть вызов mysql_query, а нужно было бы это сделать только внутри db_query.
Общая рекомендация новичкам в программировании PHP: 1) Используйте MVC Laravel 2) Лучше установить CMS например Prestashop и залесть в кишки там все подробно можно посмотреть 3) На фронте обязательно Angular или ему подобные Опять же Loft Blog Вам в помощь
Эта фраза даже у меня вызывает вопросы. Вы советуете использовать Laravel или советуете посмотреть, как там реализован паттерн MVC? Ну, и Laravel, конечно, хороший фреймворк, но нельзя его так безапелляционно советовать (и без каких-либо аргументов). Почему Laravel, а не, например, Yii? Да, магазинный движок это именно то, что нужно новичку Особенно такой навороченный, как ПрестаШоп. И опять же бессмысленное утверждение. Прежде всего, называя Ангуляр и "подобные" вы сразу утверждаете, что нужно делать только SPA, а это нужно, в принципе, далеко не всегда и уж тем более построение REST апи - это совсем не то, чем нужно заниматься новичку. Кроме того, Ангуляр сам по себе не для новичков и особо "подобных" не имеет. Например, ближайшая его альтернатива, Ember, имеет совершенно другие принципы построения приложения. Да и вообще, при чём тут php? Фронтенд - это js и когда речь заходит не о каких-то мелких скриптах, а про такие масштабные js задачи как SPA - этим должен заниматься отдельный js разработчик.
DOCSistems, добавьте хотя бы простейший роутер, а то смотреть на подобное оч. неприятно: PHP: $articles = select_articles(); //Получение конкретной статьи if(isset($_GET["article_id"])){ $one_article = select_one_article($_GET["article_id"]); }и т.д. Для получения одной статьи выдергивать остальные в принципе не нужно, а вы еще тут к тому же выдергиваете все, а потом еще одну повторно, хотя она уже должна быть в $articles. И дальше это безобразие продолжается – работаете с POST'ом вне зависимости от тек. адреса – хотя и существуют архитектуры с единым POST-обработчиком, но мне кажется, что это не ваш случай. И пара моих статей в качестве напутствия: - чтобы не ограничивать свое детище разруливанием исключительно GET-параметров в единой точке входа и необходимостью транслирования пути в параметр(ы): http://gency.ru/single-entry-point - чтобы и при выводе списка статей не выдергивать из БД сразу все статьи: http://gency.ru/pagination