Накидайте актуальные CMS без БД

R1
На сайте с 20.04.2017
Offline
30
#31

_SP_

Такой вопрос, если у меня сайт-визитка на 30 страничек, странички сами на РНР, шаблон свой я разбил на отдельные части и подключаю их с помощью РНР-инклудов, это не сильно влияет на скорость работы сайта, как считаете?

Вы просто писали, что юзать каждый раз при визите на сайт РНР - это не есть хорошо! Что вы скажете по поводу моей ситуации? Базы данных на сайте у меня нет. Чисто для удобства использую PHP-Includes... Вот таким именно образом:


<?php include './includes/header.inc.php';?>
....
<?php include './includes/navigation.inc.php';?>
....
<?php include './includes/footer.inc.php';?>

Правда, файл "navigation.inc.php", там где у меня навигация по сайту, для подсветки активного пункта меню на сайте и с целью того, чтобы навигация оставалась в одном документе, я сделал вот такое простое решение:

Документ "navigation.inc.php" выглядит таким образом:


<?php
if($a1 == "index") {
?>
<ul>
<li class="active"><a href="/index.php">index</a></li>
<li><a href="/about.php">about</a></li>
<li><a href="/contacts.php">contacts</a></li>
<li><a href="/formula.php">formula</a></li>
<li><a href="/goods.php">goods</a></li>
<li><a href="/love.php">love</a></li>
<li><a href="/addition.php">addition</a></li>
<li><a href="/end.php">end</a></li>
</ul>
<?php
} elseif($a2 == "about") {
?>
<ul>
<li><a href="/index.php">index</a></li>
<li class="active"><a href="/about.php">about</a></li>
<li><a href="/contacts.php">contacts</a></li>
<li><a href="/formula.php">formula</a></li>
<li><a href="/goods.php">goods</a></li>
<li><a href="/love.php">love</a></li>
<li><a href="/addition.php">addition</a></li>
<li><a href="/end.php">end</a></li>
</ul>
<?php
} elseif($a3 == "contacts") {
?>
<ul>
<li><a href="/index.php">index</a></li>
<li><a href="/about.php">about</a></li>
<li class="active"><a href="/contacts.php">contacts</a></li>
<li><a href="/formula.php">formula</a></li>
<li><a href="/goods.php">goods</a></li>
<li><a href="/love.php">love</a></li>
<li><a href="/addition.php">addition</a></li>
<li><a href="/end.php">end</a></li>
</ul>
.....
.....
<?php
}
?>

В самом сайте, например, в страничке "index.php" или "about.php" я подключаю вышеизложенный файл "navigation.inc.php" таким вот образом:


В документе "index.php" :
....
<?php
$a1 = "index";
include "./included/menu.inc.php";
?>
В документе "about.php" :
....
<?php
$a2 = "about";
include "./included/menu.inc.php";
?>

Как считаете, я правильно в данном случае действую? Не будет ли у меня проблем в дальнейшем на сайте??

ДП
На сайте с 23.11.2009
Offline
203
#32

Забавно наблюдать за дискуссией людей, которые свой опыт проецируют на всех остальных. Кто-то лендинги клепает и для него большинство сайтов в интернете - такие же простые. А кто-то форумы и магазины, для которых обойтись без БД сравни поклейки обоев через замочную скважину.

На совсем только понял товарища, которые html-странички на скорости 300 бод получал без фреймворков. Либо у него примитивные сайты, в которых реально БД может быть не нужна, либо какие-то статейные порталы с овердофига юзеров, где реально БД может быть и не нужна. Ну еще вариант что он самодур и разводит заказчиков на самопись и собственные велосипеды без БД чтобы часов побольше наработать, но это вряд ли.

NothingMatters
На сайте с 12.06.2017
Offline
45
#33
Как считаете, я правильно в данном случае действую? Не будет ли у меня проблем в дальнейшем на сайте??

Будут, и большие.

Что такое $a1, $a2? Почему переменные разные?

А если еще пункт в меню добавится? Еще городить $aXXX, и кучу else?

Глобальные переменные, да еще и во внешнем файле - зло.

Но если очень хочется набираться плохого опыта, то стоит хотя бы немного переделать. Меню выводи через foreach:

// Во внешнем файле задается $current_page = 'index', $current_page = 'contact', etc...
$menu = [ 'index' => ['href'=> '/', 'title' => 'Home page'],
'about' => ['href'=> '/about.php', 'title' => 'About'],
'contacts' => ['href'=> '/contact.php', 'title' => 'Contacts'],
// ...
];

<ul>
<?php foreach($menu as $page => $item):?>
<li class="<?=($current_page === $page) ? 'active' : '';?>"><a href="<?=$item['href'];?>"><?=$item['title'];?></a>
<?php endforeach;?>
</ul>
_
На сайте с 24.03.2008
Offline
381
#34
Marat_Kh:

А если их, товаров, 100000. Или сегодня 100, завтра 1000000, а послезавтра 12🍿

Не бывает так. Не бывает.

В реальности никогда не бывает так, чтобы сегодня 100, а завтра 1000000.

И не будет работать НИХРЕНА если аяксом выгребать из базы на 1000000 при каждом нажатии клавиши. Ляжет всё. Задолго до того.

Нет, когда надо впарить - это хорошая речевка

"мы сделаем вам хреново, но если потом, ведь у вас бизнес в 100000 раз укрупнится, то всё будет ок".

Ну ктож откажется от 100.000 раз укрупнения-то :) ?

---------- Добавлено 18.01.2018 в 15:14 ----------

roman1981:
_SP_
Такой вопрос, если у меня сайт-визитка на 30 страничек, странички сами на РНР, шаблон свой я разбил на отдельные части и подключаю их с помощью РНР-инклудов, это не сильно влияет на скорость работы сайта, как считаете?

Я одного не понимаю: что вам мешает разбить страницы на содержимое и шалблоны и статически их собирать ?

К чему вам вообще что-то на php. Зачем вы его стартуете для выдачи чего-то конкретному юзеру ?

С навигацией нифига не понял, но похоже вам надо освоить JS...



---------- Добавлено 18.01.2018 в 15:16 ----------

Дикий пионер:

На совсем только понял товарища, которые html-странички на скорости 300 бод получал без фреймворков. Либо у него примитивные сайты, в которых реально БД может быть не нужна, либо какие-то статейные порталы с овердофига юзеров, где реально БД может быть и не нужна. Ну еще вариант что он самодур и разводит заказчиков на самопись и собственные велосипеды без БД чтобы часов побольше наработать, но это вряд ли.

Понимаете... я не смогу никого разводить, основной заказчик всего этого самописа я сам.

И да, у меня были сайты на модных движках, на модных фреймворках... и вот до статика докатился... и стал счастлив.

Вот ей богу, я не люблю велосипеды, но то что проталкивают как годные решения - это такой "треш и содомия",

что ну его нафиг ей богу.

Сайты безусловно примитивные, интернет-магазины там всякие итд итп.

Самодур конечно. Как посмотрю что предлагают в виде CMS, так понимаю: ну его... лучше пускай меня хоть педерастом

называют, чем я этим всем пользоваться буду.

PS. Неоднократно писал и продолжаю писать: самописы подходят только для специалистов.

Всем остальным от них надо держаться как можно дальше. Самописы написанные не специалистами

еще больший "угар", чем современные фреймворки и CMS

R1
На сайте с 20.04.2017
Offline
30
#35
NothingMatters:
Будут, и большие.
Что такое $a1, $a2? Почему переменные разные?
А если еще пункт в меню добавится? Еще городить $aXXX, и кучу else?
Глобальные переменные, да еще и во внешнем файле - зло.

Во внешнем файле идёт просто их проверка (переменных $a1, $a2... ), задаются они в обычных файлах (index.php, about.php, ect.)

Немного не понял последнюю фразу, почему зло? Глобальные переменные задаются именно во внутренних файлах сайта, не во внешнем. Проверяются они только во внешнем. Или я ошибаюсь?... Действительно, внешний файл содержит все глобальные переменные вместе, а инициализирую я их во внутренних документах...

Однако их там всего-то штук пять-шесть, ну пусть до десяти штук наберётся, на что они могут так фатально повлиять, что будут большие проблемы? Вот тут я не понял вашу мысль немного...

_
На сайте с 24.03.2008
Offline
381
#36

У вас конкретно говнорешение говнозадачи.

Хотите подсвечивать что-то, напишите ексель-моксель на JS десять строк кода и подсвечивайте. Без этих бесконечных простыней.

Логика должна быть следующая.

После загрузки страницы
Для всех ссылок на текущую страницу (или не для всех, так как надо)
Проставить класс active

На jquery это даже менее 10 строк, можно и в пару уместить, но я люблю форматировать.

И исполняться всё будет со стороны клиента, а не сервера.

И грузить клиента, а не сервер.

Еще раз задумайтесь: почему ради того, чтобы клиент увидел визуальный эффект вы что-то там каждый раз на сервере пересобираете ?

У вас что, сервер резиновый ? Делать ему нехрен :) ?

Собственно, это пример того, от чего лично я бегу как от чумы. В современных движках подобных решений немало.

Толстый клиент ей богу лучше.

ЗЫ. И да... первый признак говнокода - copy+paste

R1
На сайте с 20.04.2017
Offline
30
#37

_SP_

Коллега, я всё понимаю, вы человек очень опытный, квалифицированный. Но почему в ваших сообщениях так много красивых и ярких эпитетов? Например:

лучше пускай меня хоть педерастом называют, чем я этим всем пользоваться буду
У вас конкретно говнорешение говнозадачи.
И да... первый признак говнокода - copy+paste

Да, вы действительно дали ёмкий, полный ответ на вопросы из зала! В полном соответствии с вашим многолетним опытом и квалификацией. Спасибо вам великодушно!

S
На сайте с 30.09.2016
Offline
469
#38
_SP_:
первый признак говнокода - copy+paste

Обычный "индусский" код.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
_
На сайте с 24.03.2008
Offline
381
#39
roman1981:
_SP_
Коллега, я всё понимаю, вы человек очень опытный, квалифицированный. Но почему в ваших сообщениях так много красивых и ярких эпитетов? Например:

Вам правда интересно ?

Третий день пытаюсь понять, что конкретно имели в виду индийские программисты (они правда из индии)

написав 100500 строк кода там, где было бы достаточно 50ти. Пока удалось выкинуть процентов 60 только.

И вроде-бы начинает работать :)

С годами дебилы начинают не умилять, а раздражать.

ЗЫ. И да... если чё: я не позиционирую себя как какого-то гуру именно в вебразработке. Так... имею опыт.

R1
На сайте с 20.04.2017
Offline
30
#40
NothingMatters:

Но если очень хочется набираться плохого опыта, то стоит хотя бы немного переделать. Меню выводи через foreach:

// Во внешнем файле задается $current_page = 'index', $current_page = 'contact', etc...

$menu = [ 'index' => ['href'=> '/', 'title' => 'Home page'],
'about' => ['href'=> '/about.php', 'title' => 'About'],
'contacts' => ['href'=> '/contact.php', 'title' => 'Contacts'],
// ...
];

<ul>
<?php foreach($menu as $page => $item):?>
<li class="<?=($current_page === $page) ? 'active' : '';?>"><a href="<?=$item['href'];?>"><?=$item['title'];?></a>
<?php endforeach;?>
</ul>

Скажите, пожалуйста, а если я в своём варианте буду вместо разных переменных использовать одну, проблем не будет? Вот правда, не могу понять вашу фразу насчёт проблем с сайтом в дальнейшем.

Вот, такой код:


<?php
if($current_page == "index") {
?>
<ul>
<li class="active"><a href="/index.php">index</a></li>
<li><a href="/about.php">about</a></li>
<li><a href="/contacts.php">contacts</a></li>
<li><a href="/formula.php">formula</a></li>
<li><a href="/goods.php">goods</a></li>
<li><a href="/love.php">love</a></li>
<li><a href="/addition.php">addition</a></li>
<li><a href="/end.php">end</a></li>
</ul>
<?php
} elseif($current_page == "about") {
?>
<ul>
<li><a href="/index.php">index</a></li>
<li class="active"><a href="/about.php">about</a></li>
<li><a href="/contacts.php">contacts</a></li>
<li><a href="/formula.php">formula</a></li>
<li><a href="/goods.php">goods</a></li>
<li><a href="/love.php">love</a></li>
<li><a href="/addition.php">addition</a></li>
<li><a href="/end.php">end</a></li>
</ul>
<?php
} elseif($current_page == "contacts") {
?>
<ul>
<li><a href="/index.php">index</a></li>
<li><a href="/about.php">about</a></li>
<li class="active"><a href="/contacts.php">contacts</a></li>
<li><a href="/formula.php">formula</a></li>
<li><a href="/goods.php">goods</a></li>
<li><a href="/love.php">love</a></li>
<li><a href="/addition.php">addition</a></li>
<li><a href="/end.php">end</a></li>
</ul>
.....
.....
<?php
}
?>

В самом сайте, например, в страничке "index.php" или "about.php" я подключаю вышеизложенный файл "navigation.inc.php" таким вот образом:


В документе "index.php" :
....
<?php
$current_page = "index";
include "./included/menu.inc.php";
?>
В документе "about.php" :
....
<?php
$current_page = "about";
include "./included/menu.inc.php";

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий