Забыли пароль?
Запросите новый здесь.

Автор темы: Deorchik
ID темы: 2501
Информация:
Тема содержит 25 сообщения, была просмотрена 18652 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Вопросы новичков
 Распечатать тему
Преобразование Fusion'на
Deorchik
У меня возникла грандиозная мысль, вот и такой вопрос возник,...можно ли Fusion обрезать до таких возможностей допустим:
оставить только новости и управление юзерами ( без всего остального.. форума и прочей информации) Те вырезать вообще из кода?
и так скажем использовать как начальный фреймворк? или не выйдет =) ?

Объединено 12.05.2015 19:26:
Так скажем меня интересует ядро =)
Изменил(а) Deorchik, 12.05.2015 19:26
 
Web
SchreiBear
Deorchik, лучше с нуля делать ну и не процедурный стиль написания выбирать..а ...ООП или Объектно-ориентированное программирование ....код в разы короче... некоторые вещи от фузиона подойдут, многие вещи за ненадобностью просто отвалятся
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
grungestranger
SchreiBear написал:

Deorchik, лучше с нуля делать ну и не процедурный стиль написания выбирать..а ...ООП или Объектно-ориентированное программирование ....код в разы короче... некоторые вещи от фузиона подойдут, многие вещи за ненадобностью просто отвалятся


Можешь привести пример кода, выполняющего одно и то же, в процедурном виде и в ооп, и посмотреть насколько будет короче.
 
Web
jikaka
Deorchik, как вариант, ты можешь создать администратора с доступам к нужным вещам в админке, после чего пользоваться только им
лишнего видеть не будешь
 
Web
Warhangel
Deorchik, ну так собственно фьюжик позволяет это сделать, как говорится бери и оставляй только необходимое.
 
Web
Wally
Да и вырезать все остальное проблемы абсолютно не вижу... Час работы максимум)
Господи, перезагрузи этот мир!
 
Web
SchreiBear
grungestranger, в интернете примеров полно http://habrahabr....ost/23619/
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Rush
ядро как-то уж слишком громко звучит) так, набор второсортных функций
21 век же, есть композер, можно все это слепить за не так много времени

http://packagist.... тысячи пакетов... про десяток-другой фреймворков уже молчу)
 
Web
grungestranger
SchreiBear написал:

grungestranger, в интернете примеров полно http://habrahabr....ost/23619/


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


Серьезно?bu

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

Но конкретного примера никогда не дается. И пример из этой статьи не показывает никакого удобства...
Лично для меня процедурный код абсолютно читаем, если более менее нормально написан. Неужели ООП стоит пихать всюду?
x1
 
Web
Alipapa
Wally написал:

Да и вырезать все остальное проблемы абсолютно не вижу... Час работы максимум)
Угу-угу. Баловался раньше, типа blog-fusion и т.п. Там столько геморроя, что лучше действительно не трогать ничего, а просто пользоваться только тем, что нужно.
 
Web
SchreiBear
grungestranger, не хочу ввязываться в дискуссии по этому поводу, а скажу лишь одно..."КОЛХОЗ ДЕЛО ДОБРОВОЛЬНОЕ"

ps.. да вы энтузиаст батенька ...защищаете непрозрачность и затрудненность читабельности)))
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
grungestranger
SchreiBear написал:

grungestranger, не хочу ввязываться в дискуссии по этому поводу, а скажу лишь одно..."КОЛХОЗ ДЕЛО ДОБРОВОЛЬНОЕ"

ps.. да вы энтузиаст батенька ...защищаете непрозрачность и затрудненность читабельности)))


Да нет, я ничего не защищаю. Говорю свое мнение. И добавлю - я тоже пишу типа своего движка, и я вот ума не приложу, даже если захочу использовать ООП - куда там его впихнуть, что заменять... какие классы создавать...
x2
 
Web
Alipapa
ООП, ООП. Вы писали заводскую бухгалтерию на голом Си? Те, кто учился программированию в постсоветский период, у них философия другая, восприятие программного кода иное, как и всей жизни вообще. И в новом поколении есть программисты, образ мышления которых воспринимает процедурный код проще объектного. Поэтому лучше-хуже здесь понятие очень субъективное.
x1
 
Web
Deorchik
Ну теперь Вы меня вообще запутали =)))
 
Web
Rush
Alipapa написал:

ООП, ООП. Вы писали заводскую бухгалтерию на голом Си? Те, кто учился программированию в постсоветский период, у них философия другая, восприятие программного кода иное, как и всей жизни вообще. И в новом поколении есть программисты, образ мышления которых воспринимает процедурный код проще объектного. Поэтому лучше-хуже здесь понятие очень субъективное.


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

можно провести параллель например с медициной, если бы психиатрия зависла в 18-19 веке, то людей бы до сих пор лечили лоботомией, и из твоего поста можно подумать что это абсолютно нормально.
 
Web
Alipapa
Нет-нет-нет. Вот эти вот "мировые общепринятые практики и стандарты", вот это "айти развивается быстрее чем любая другая сфера" - абсолютно к тому, что я имел в виду, отношения не имеет. Вот она разница - не только иная философия, а даже вообще другое понимание сущности вопроса.
 
Web
grungestranger
Rush, Неужели процедурный стиль настолько плох, так непонятен и некачественен? Разница настолько велика?

Объединено 14.05.2015 09:04:
Ну хорошо, давайте простой пример:

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

function validEmail($text) {
if (...) {
return true;
} else {
return false;
}
}

Как это переделать в ООП, и чем это будет лучше и проще для разработки, для поддержки, для читабельности?

Я не хочу разводить тут дерьмо, я реально хочу вникнуть, и понять чем же лучше, чем же современнее и развитие. На простых примерах. И если, я пойму, что это реально намного лучше, то буду углубляться.
Изменил(а) grungestranger, 14.05.2015 09:07
 
Web
Alipapa
Нельзя говорить, что структурное программирование умерло, а взамен ему пришло объектное. Объектное пришло не взамен, оно пришло как надстройка, облегчающая решение сложных задач программирования. Которую вовсе не обязательно применять для таких простых вещей, как cms.
 
Web
grungestranger
Alipapa, Вот и я такого мнения, но почему-то все вокруг, считают, что если человек не использует ООП, то он, грубо говоря, нуб или лох, не знаю как сказать. Я говорю людям, ну если просто и понятно сделать на процедурном, то можно? Они говорят, А если там надо будет написать что-то сложное... Я говорю, ну и добавите, значит, сделаете на ООП...

(Честно говоря, я вообще не понимаю, что в вебе может быть такого сложного, такая какая-то невероятная задача, которую невозможно решить...

Ведь в вебе все сводится к записи и чтению из базы данных...
Конечно есть всякие многопотоковости... и.т.д - но если ты делаешь простую вещь...)

PS Самое смешное, что обычно за повсеместное использование ООП с пеной у рта выступают те, кто в нем не шарит и не использует)))
Изменил(а) grungestranger, 14.05.2015 09:19
 
Web
Rush
ну как бы есть 3 основных принципа ооп - инкапсуляция, наследование и полиморфизм, которые могут сильно тебе упростить жизнь и превратить твой код из набора непонятных и малосвязных функций, адского количества глобальных переменных, без конца повторяющегося кода, всяких require_once и т.д.
Насчет твоего примера - ок, давай потренируемся. посмотрим глобальней. что ты делаешь сейчас когда тебе приходят данные в POST? к примеру это email,name,password и password_confirm, будет что-то вроде:
Загрузить источник  GeSHi: PHP
  1.  
  2. <?php
  3. require_once "somedir/validation.php";
  4.  
  5. if (isset($POST)) {
  6. $error = false;
  7. $name = $email = $password = null;
  8. if (isset($_POST['name'])) {
  9. $name = validName($_POST['name']);
  10. } else { $error = 'Invalid name'; }
  11. // ... same for others
  12. if (!$error) { /* save */ } else { /* return error */ }
  13. }
  14.  
Добавлено за 0.021 секунд, используя GeSHi 1.0.8.10

красота кароч)

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

Загрузить источник  GeSHi: PHP
  1.  
  2. <?php
  3. use Validation/Validation;
  4. if (isset($_POST)) {
  5.  
  6. // создаем новый объект класса Validation и передаем ему весь пост, второй параметр говорит какие элементы нам нужны, остальные уберем.
  7. $validation = new Validation($_POST, array('name','email','password','password_confirm'));
  8.  
  9. // теперь нужны условия что и как проверять
  10. $validation
  11. ->setRule('name', 'minlength:10')
  12. ->setRule('email', 'email')
  13. // другие правила, все весьма утрировано
  14. ;
  15.  
  16. // теперь проверяем
  17. if ($validation->validate()) {
  18. // save
  19. } else {
  20. $errors = $validation->getErrorsArray();
  21. }
  22.  
  23. }
  24.  
Добавлено за 0.020 секунд, используя GeSHi 1.0.8.10


ну и к примеру Validation

Загрузить источник  GeSHi: PHP
  1.  
  2. <?php
  3. namespace Validation;
  4.  
  5. class Validation {
  6.  
  7. protected $_data;
  8. protected $_rules;
  9. protected $_errors;
  10.  
  11. public function __construct($post, $expected) {
  12. $this->_data = array_intersect_key(
  13. $post,
  14. array_combine($expected, range(1, count($expected)))
  15. );
  16. }
  17.  
  18. public function setRule($field, $rule) {
  19. $this->_rules[$field] = $this->parseRule($rule);
  20. }
  21.  
  22. public function validate() {
  23. // будем утрировать, обходим поля и вызываем соответствующие валидаторы типа new Validation/Rules/Email()->check($value, $arg);
  24. // ошибки добавляем в $this->_errors;
  25. return !$this->_errors;
  26. }
  27.  
  28. public function getErrorsArray() {
  29. return $this->formatErrors();
  30. }
  31.  
  32. }
  33.  
  34.  
Добавлено за 0.020 секунд, используя GeSHi 1.0.8.10


ну и для каждого правила свой класс с одим лишь методом для вызова проверки
Загрузить источник  GeSHi: PHP
  1.  
  2. <?php
  3. namespace Validation/Rules;
  4.  
  5. class Email implement Validation/Rules/RuleInterface {
  6. public function check($value, $arg) { return smth; }
  7. }
  8.  
  9.  
Добавлено за 0.019 секунд, используя GeSHi 1.0.8.10


и в результате это все конечно несколько сложнее реализовать, и тем более реализовать грамотно, но все равно жизнь упростит и сделает твой код красивей
x2
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
PHP FUSION 7 ПЕРЕОСМЫСЛЕНИЕ.  →  Народное творчество 8 / 584 18.04.2024 15:05
От какой CMS лучше переделывать плагины сервисов оплаты, доставки, 1С для PHP-Fusion-7?  →  Пожелания и предложения 2 / 1821 08.08.2023 08:59
Fusion 7 и cloudflare  →  Установка и настройка системы 6 / 3275 08.08.2023 08:35
PHP Fusion 6 несколько проблем  →  Установка и настройка системы 7 / 4585 07.06.2021 23:12
ЧПУ Дополнительных страниц для PHP-Fusion 8  →  Разное 8 / 6451 26.10.2020 18:42
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 7408 25.07.2020 03:46
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 5228 19.06.2020 17:06
PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи  →  Моды 20 / 27825 17.03.2020 19:59
Кто делал гибрид Wordpress и PHP-Fusion?  →  Пожелания и предложения 3 / 3167 08.03.2020 15:50
Какой плагин PHP-Fusion уместно использовать для создания сайта КВИЗа?  →  Пожелания и предложения 1 / 4016 18.02.2020 15:14
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)