BPage CMS - система за създаване на уеб сайт

Дискусията в 'Web Development' стартирана от stuklen, Ян 13, 2017.

  1. stuklen

    stuklen Well-Known Member

    Рег.:
    Ноем 23, 2010
    Съобщения:
    1,169
    Харесвания:
    105
    Точки:
    63
    Пол:
    Мъж
    Професия:
    уеб разработки
    Място:
    Габрово
    Да, такъв стил използвам. По-лесно ми е за четене от HTML с PHP тагове.
     
  2. AMitrev

    AMitrev Well-Known Member

    Рег.:
    Авг 6, 2012
    Съобщения:
    1,557
    Харесвания:
    244
    Точки:
    63
    Пол:
    Мъж
    Място:
    София
    От сега ти казвам този проект е обречен на провал. Когато спегети кода беше модерен тогава бяха най-силните години на спагети уестърните.

    Започвай на ново като задължително не правиш тая глупост да смесваш php и html.
     
  3. stuklen

    stuklen Well-Known Member

    Рег.:
    Ноем 23, 2010
    Съобщения:
    1,169
    Харесвания:
    105
    Точки:
    63
    Пол:
    Мъж
    Професия:
    уеб разработки
    Място:
    Габрово
    Дай пример за по-добро решение и се обоснови. И може би как се генерира html без смесване с php.
    Ако ми допадне идеята, увеличи се бързодействието и времето за реакция, трия и почвам на ново.
     
  4. rombeca

    rombeca Active Member

    Рег.:
    Ноем 9, 2010
    Съобщения:
    948
    Харесвания:
    205
    Точки:
    43
    Това е едно добро ново начало.
     
  5. AMitrev

    AMitrev Well-Known Member

    Рег.:
    Авг 6, 2012
    Съобщения:
    1,557
    Харесвания:
    244
    Точки:
    63
    Пол:
    Мъж
    Място:
    София
    @stuklen не случайно използвах израза "темплейт енджин" в предходните си мнения. Ако не ти допадне идеята значи трябва да смениш сферата на работа.
    С тези спагети които пишеш как ще имаш 2 различни теми за сайта? Ако трябва някой фронтендер да фиксне нещо, колко неща ще може да омаже като така си ги спагетосал php-то и html-а :)

    @rombeca нека не бъркаме template engine с framework ;)
     
    ArtBean харесва това.
  6. stuklen

    stuklen Well-Known Member

    Рег.:
    Ноем 23, 2010
    Съобщения:
    1,169
    Харесвания:
    105
    Точки:
    63
    Пол:
    Мъж
    Професия:
    уеб разработки
    Място:
    Габрово
    Добре дай един пример. За това съм я пуснал тази тема, хем да пиша какво правя, хем да си сверя чаровника, да получа съвети и т.н.
    За мен това:
    PHP:
    <?php
    foreach($entries as $entry)
        echo 
    "
        <h1>
    {$entry['title']}</h1>
        <p>
    {$entry['description']}</p>
        "
    ;
    ?>
    Е много по-четимо и по-кратко от това:
    HTML:
    <?php foreach($entries as $entry): ?>
        <h1><?= $entry['title']; ?></h1>
        <p><?= $entry['description']; ?></p>
    <?php endforeach; ?>
    С времето ще разяснявам още неща, но да добавя, че е възможно с 1 инсталация да се направят n на брой сайта с 100% различни теми и функции, като дори за всеки отделен компонент, може да има n вида дизайн за една тема. Пример с 1 модул за менюта, може да си направиш хоризонтално, вертикално вложено,.. каквито ти душа сака изгледи.
     
    Последно редактирано: Ян 16, 2017
  7. Sky

    Sky Well-Known Member

    Рег.:
    Юли 29, 2012
    Съобщения:
    8,825
    Харесвания:
    649
    Точки:
    113
    Пол:
    Мъж
    Място:
    Стара Загора
    Пак ги мешаш:
    HTML:
    @foreach ($entries as $entry)
        <h1>{{ $entry->title }}</h1>
        <p>{{ $entry->description }}</p> 
    @endforeach
    
     
  8. rombeca

    rombeca Active Member

    Рег.:
    Ноем 9, 2010
    Съобщения:
    948
    Харесвания:
    205
    Точки:
    43
    Не ги бъркаме. Под ново начало, имам в предвид - истинско ново начало.
    От правилното MVC, а не "хибриден MVC, като модела и контролера са заедно", до Blade темплейт енджина.
    Отделно половината система се създава с 3 команди, и 20 реда код.
     
  9. AMitrev

    AMitrev Well-Known Member

    Рег.:
    Авг 6, 2012
    Съобщения:
    1,557
    Харесвания:
    244
    Точки:
    63
    Пол:
    Мъж
    Място:
    София
    @stuklen проблема е, че часовника ти е спрял някъде в началото на 21 век.

    PHP спагети:
    Код:
    <?php $counter=0; ?>
    <?php foreach($foo as $bar): ?>
      <?php if(($counter+1) % 4 == 0): ?>
        </tr><tr>
      <?php endif; ?>
      <td><?php echo $bar; ?></td>
      <?php $counter++; ?>
    <?php endforeach; ?>
    
    Smarty
    Код:
    {foreach $foo as $bar}
      {if $bar@iteration is div by 4}
        </tr><tr>
      {/if}
      <td>{$bar}</td>
    {/foreach}
    
    twig
    Код:
    {% for key, bar in foo %}
    {% if key is divisible by(4) %}
     </tr><tr>
      {/if}
      <td>{{ bar }}</td>
    {% endfor %}
    
    Данните са си данни, а обвиката е както го направи фронтендера ;). В твоя случай някой трябва да влиза в така наречената бизнес логиката и да променя я някое име на клас, я някой html елемент с друг и накрая става мармалад.

    @rombeca за какво му е на човек танк за да убие муха, като може и с най-обикновен вестник? Да не говорим, че MVC не е най-доброто/ефективно решение за всеки проблем ;)... може пък човека да иска да ползва MVVM/MVP/etc.

    Прав си иначе за 20-те реда код. Само където забравяш че за целта ще ти трябват още 400кБ текстови файлове ;)
     
  10. ArtBean

    ArtBean Active Member

    Рег.:
    Февру 16, 2013
    Съобщения:
    283
    Харесвания:
    33
    Точки:
    28
    Пол:
    Мъж
    Професия:
    Software engineer
    https://mustache.github.io/ - ето ти един базов темплейт енджин, за php не знам кое е най-готиното в момента, защото отдавна не съм писъл на тоя език, но предполагам и сам ще си намериш каквото ти трябва.
     
  11. stuklen

    stuklen Well-Known Member

    Рег.:
    Ноем 23, 2010
    Съобщения:
    1,169
    Харесвания:
    105
    Точки:
    63
    Пол:
    Мъж
    Професия:
    уеб разработки
    Място:
    Габрово
    Използването на такъв тип енджин, щото някой казал, ми се струва леко необосновано.
    Дай така сме на темата да ги разнищим.
    Използване на енджин:
    Плюсове:
    - Лесно разчетим код с условност програмиста, който се занимава да е със знания за този енджин;
    Минуси:
    - Допълнително включване на скриптове;
    - Допълнителна подръка на скриптове;
    - Задължителни познания извън PHP и HTML /свива се кръга на програмистите, които могат да работят с него/;
    - Загуби от бързодействие;
    - Използване на допълнително процесорно време;

    А то реално стила на кодене в скриптовете на темата е свободно. Който както му харесва и му е удобно, така да го прави. До човека си е и според мен, ако не влияе на бързодействие и използвано процесорно време това няма толкова голямо значение.

    Да кажем, че при мен се използва нещо като (MC)V модел.

    И като допълнение, винаги съм се водил от съждението "Колкото по-опростено, толкова по-добре".
     
  12. ArtBean

    ArtBean Active Member

    Рег.:
    Февру 16, 2013
    Съобщения:
    283
    Харесвания:
    33
    Точки:
    28
    Пол:
    Мъж
    Професия:
    Software engineer
    Вярно е, че има някаква специфичност в използването на всеки енджин, но тя се корени в няколко простички правила в синтаксиса. Не мисля, че съм виждал някъде да се търсят специалисти с jade, twig и т.н.. А останалото изобщо нямам намерение да го коментирам.
     
  13. AMitrev

    AMitrev Well-Known Member

    Рег.:
    Авг 6, 2012
    Съобщения:
    1,557
    Харесвания:
    244
    Точки:
    63
    Пол:
    Мъж
    Място:
    София
    Като натрупаш повече опит ще разбереш смисъл от ползването на темплейт енджини.
    Сега набързо по плюсовите и минусите:

    Става дума за елементарен синтакси. Даже повечето модерни версии на различните темплейт енджини (специално за PHP) са със синтаксис на php
    Пропускаш най-важното разделение на логика от визия. Спокойно front-end-ера който ще работи по проекта ще свърши работата без да се налага някой програмист да тича след него да бърше.

    Какво значи допълнително включване на скритоптове? Това е часта от ядрото на проекта ти която се грижи за визията, ти и сега я имаш но е просто нефункционална и неудобна.
    Какви знания извън php/html ти трябват? Нужни са ти само php знания нищо повече.

    Загуби? Допълнително процесорно време?
    PHP:
    <?php
    foreach($entries as $entry)
        echo 
    "
        <h1>
    {$entry['title']}</h1>
        <p>
    {$entry['description']}</p>
        "
    ;
    ?>
    vs

    PHP:
    <?php
    foreach($entries as $entry)
        echo 
    '<h1>'.$entry['title'].'</h1>
        <p>'
    .$entry['description'].'</p>';
    ?>
    Познай кой от двата кода е по бавен и изисква повече ресурси ;).
     
  14. stuklen

    stuklen Well-Known Member

    Рег.:
    Ноем 23, 2010
    Съобщения:
    1,169
    Харесвания:
    105
    Точки:
    63
    Пол:
    Мъж
    Професия:
    уеб разработки
    Място:
    Габрово
    За съжаление не виждам в отговорите, защо аджаба да се водя по модата.
    Колко кб скриптове ще трябва да се обработват, колко допълнително инструкци ще извърши енджина, да запълни или адресира памет, да парсира темплейта.
    До колкото съм запознат PHP се затруднява доста с прасването на стрингове.

    Търсил съм бенчмаркове по темата, но не съм намирал. Енджина реално подобрява ли работата за генериране на страница.

    AMitev за мен разлика няма в 2-та варианта.
     
  15. imagination

    imagination Active Member

    Рег.:
    Юли 26, 2011
    Съобщения:
    210
    Харесвания:
    45
    Точки:
    28
    Пол:
    Мъж
    Темплейт енджина основно е правен за да могат фронт енд девелоперите да не се бъркат в работата на програмистите. Това не е мода, мода е било преди 10-15 години. Факт е, че всяка една съвременна работна рамка следва до някаква степен MVC и има темплейт енджин.
    Ако искаш да развържеш ръцете на хората да правят темплейти за твоят ЦМС, добави такъв енджин. В крайна сметка процесорното време е евтино и ще продължава да му пада цената, докато за човешкият труд важи обратният закон - направи го лесно за човека не за машината.
    Обратното също е вярно - има много системи, които са писани със спагети код и са много успешни.
    Поздрави.
     
  16. stuklen

    stuklen Well-Known Member

    Рег.:
    Ноем 23, 2010
    Съобщения:
    1,169
    Харесвания:
    105
    Точки:
    63
    Пол:
    Мъж
    Професия:
    уеб разработки
    Място:
    Габрово
    Добре, това е ясно и е добър мотив, но нали мерим бързодействие и "защо постоянно хостинг компаниите ме изнудват".
    Може би за някакви големи комерсиални проекти, при които тези неща не са важни, а се програмира на килограм, има текучество на фрондендъри. Тук съм съгласен.
    И какво е по лошо това
    PHP:
    <?php
    foreach($entries as $entry)
        echo 
    "
        <h1>
    {$entry['title']}</h1>
        <p>
    {$entry['description']}</p>
        "
    ;
    ?>
    от това, с допълнително файлове за зареждане, допълнително парсване на файлове, допълнителни познания.
    PHP:
    {foreach $foo as $bar}
      {if 
    $bar@iteration is div by 4}
        </
    tr><tr>
      {/if}
      <
    td>{$bar}</td>
    {/foreach}
    И да намеся мастодонтите, които често са обект на спор, а именно масовите опънсорс CMSи и защо не ползват такива екстри?
     
  17. AMitrev

    AMitrev Well-Known Member

    Рег.:
    Авг 6, 2012
    Съобщения:
    1,557
    Харесвания:
    244
    Точки:
    63
    Пол:
    Мъж
    Място:
    София
    @stuklen за теб няма разлика, но за машината има. Нали за бързодействие и процесорно време говориш.
    Колко ресурс ще ти отнеме template engine си зависи само от теб - какъв ще избереш, какъв ще направиш или ....
    Да не говорим, че не всичко е бързодействие.

    След Х време сам ще се убедиш, че в този спагетарник няма да се ориентираш.

    Какви допълнителни познания ти трябват за примера който си цитирал (smarty-тито), че ми стана любопитно?

    @imagination няма такива системи - успешни спегетарници. Питай хората които им се налага да поддържат такъв код - на теб отвън може да ти изглежда успешно, но реално не е така, защото разодите по такъв код са ужасно много. АКо пък е опен соурс то няма да намериш хора които да контрибютват. В най-добрият случай ще се намери ентусиаст или група ентусиасти, които да напишат системата както трябва.
     
  18. Sky

    Sky Well-Known Member

    Рег.:
    Юли 29, 2012
    Съобщения:
    8,825
    Харесвания:
    649
    Точки:
    113
    Пол:
    Мъж
    Място:
    Стара Загора
    Опенкарт?
     
    stuklen харесва това.
  19. imagination

    imagination Active Member

    Рег.:
    Юли 26, 2011
    Съобщения:
    210
    Харесвания:
    45
    Точки:
    28
    Пол:
    Мъж
    По-скоро Вп :) Несъмнено успешен проект, с лош код.
     
    stuklen харесва това.
  20. AMitrev

    AMitrev Well-Known Member

    Рег.:
    Авг 6, 2012
    Съобщения:
    1,557
    Харесвания:
    244
    Точки:
    63
    Пол:
    Мъж
    Място:
    София
    WP може да е лош код, но то е следвствие, че хората искаха да прави всичко. Но пък не е спагетарник.
    Опенкарта също не е спагатерник.

    Спагетарник беше oscommerce, но като видяха че губят комюнитито си (бяха първите и бе интересно на хората) го пренаправиха.
     
    stuklen и Вискяр Градинаров харесват това.

Сподели страницата

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies.
    Dismiss Notice