Скажите, на сколько этот проект говнокод? Конструктивная и деструктивная критика приветствуется. https://github.com/sanjsuper/framework_blog
ну для начала этот говнокод сложно читать. форматирование пляшет, комменты уезжают за рамки фулхд монитора, в коде много мусора в виде закомментированной отладки. название переменных порой настолько дебильные что лучше было пропустить скрипт через обфускатор. у тебя пхп код в файлах с расширением tpl. ты не знаешь про short echo. ты подавляешь вывод предупреждений собакой. дальше лениво.
Почему файл с отправкой письма на мыло называется "процесс", тоже малопонятно Добавлено спустя 1 минуту 41 секунду: Код (PHP): $im = @imagecreatetruecolor(100, 50) or die('Невозможно инициализировать GD поток'); а это как? подавить вывод ошибки или её вывести?)
матчасть тебе что по этому поводу говорит? ну или смекалка попробую оправдать автора. у меня тоже в миллионе проектов есть каталог proc в котором я устраиваю всякую порнографию в виде коротких сценариев для проверки какой-то фичи, быстрой наколеночной реализации чего-то что потом уйдет в нормальный класс, и тому подобное. думаю этот файл у автора может выполнять такую же функциональную нагрузку.
Адекватненько, спасибо, критику принял. А в чем названия переменных плохи? Зачастую использую енг названия того, что есть или д.б. в этой переменной, так и называю. А форматирование кода пляшущее это более к хтмл или пхп? Спасибо! Добавлено спустя 1 минуту 20 секунд: Таки да, это завалялся небольшой файлик, который удалить нада. Тестировал в нем
глядя на переменную с названием $arrays ты что себе представляешь? а почему потом там чо-то с модулями связанное ищется? или ты модулями называешь пользователей? про вообще
Мда, соглашусь и с этим... Добавлено спустя 37 секунд: Да, спасибо большое, адекватная публика тут водится! Сразу такой фитбек=) Добавлено спустя 1 минуту 24 секунды: А если в глобальном, так сказать плане, такой код имеет право на жизнь? Именно с точки зрения php и моих недоскиллов=(
Сознаюсь. Спырил этот кусок в дебрях инета, даже на php.net в примерах где-то=) Добавлено спустя 2 минуты 35 секунд: Таки да, пример с пыхинет $im = @imagecreatetruecolor(120, 20) or die('Невозможно инициализировать GD поток'); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 1, 5, 5, 'Простая Текстовая Строка', $text_color); imagepng($im); imagedestroy($im);
framework_blog/module/admin/user.php Код (PHP): if(isset($_POST['sub_user']) && $_POST['captcha'] == $_SESSION['captcha']){ $user = new User; $success = $user->get_user($_POST); if($success !== false){ header("location: /admin/user"); exit(); } }elseif(isset($_POST['sub_user']) && (!$_POST['captcha'] == $_SESSION['captcha'])){ $_SESSION['reg_error_captcha'] = "Не верный код капчи"; }
Код (PHP): <?=$res[0]['text_article']?> Сделайте какой-нибудь контейнер для переменных шаблона. Развейте как-нибудь эту тему. framework_blog/lib/db_class.php Добавьте single_select()
Меня зовут Александр, мне 24, можно на ты=) Спасибо за критику, учту. Только немного не понял о контейнере для переменных. Это типа сделать в моделе контейнер, который полуит все данные, а в отображении выводить эти данные?
Даже больше скажу) не существует) ибо это на опен сервере запилено, вот этот сайт http://sanjsuper.0fees.us
Не, ну ты не подумай, эт не проект века, так, на заюзаном шабе фреймворк строю. Вобще на уникальность и работоспособность не претендую, главное код, главное начинка для фреймворка
Папка .idea в проекте не нужна, исключи ее. Ты ведь не помнишь, чтобы создавал такую сам? Это служебная папка пхпШторма, от нее ценности в репозитории - ноль. Добавлено спустя 9 минут 36 секунд: Хм...в папке module, как я понял, хранятся, внезапно, шаблоны и логика страниц? Так? 1) Почему папка называется module, а не, как минимум modules? 2) Почему она вообще называется производным от module, а не от page? В чем модульность выражается данного подхода? Расскажи подробнее об архитектуре проекта и, непосредственно, модульного "движка".
framework_blog/lib/user_class.php Функция update_pass не нужна, у тебя есть же update_user. И этот класс смахивает на модель. Следует добавить логику моделей и вывести их в отдельные директории. Добавь неймспейсы и в автолоадере отталкивайся от них, изи. Добавлено спустя 3 минуты 45 секунд: framework_blog/lib/config_class.php Почему конфиг как класс со статичными переменными ? Сделай подгрузку json/yaml/ini, плюсом было бы разграничение по окружению dev/prod. Добавлено спустя 3 минуты 5 секунд: framework_blog/lib/load_class.php Код (PHP): if($size > 20480000) return false; Было бы неплохо сварганить ексепшены и хандлить их с подвязкой в шаблонах. Иначе никакой информативности. Хотя бы на уровне логов. Добавлено спустя 2 минуты 10 секунд: framework_blog/lib/stats_class.php Я в сомнении относительно этого функционала. Лучше бы логирование добавил, а там и статистику собрать не сложно. Ну эт дело вкуса. Добавлено спустя 2 минуты 9 секунд: framework_blog/lib/usertools_class.php Функционал модели. Не так много всего чтобы создавать это в отдельном классе. На вкус канеш. Добавлено спустя 4 минуты 13 секунд: Вырежи весь контент из репы. Оставь только фонты для капчи. Сделай простой шаблон, грузи нужное через cdn. Убери в сраку ебаный htaccess и прочее говно, которое не нужно. Добавлено спустя 2 минуты 23 секунды: И придумай хоть какое название. Yet another blog framework.