PDA

Просмотр полной версии : Говнокод отечественного производства на PHP


Низ
01.10.2019, 19:02
Это авторское исполнение редкостного говна на PHP. Многие сомневаются, что смогу их удивить своей кривизной мышления отсутствия грамматики. Давайте посмотрим. Начнем с малого

Код:



// "Cтраница карнизов" *

else if ($Page == 'cornice') {
if (!$Module or $Page == 'cornice' and $Module == 'category' or $Page == 'cornice' and $Module == 'main' or $Module == 'podcategory') include('module/product/cornice/cornice.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/cornice/material_cornice.php');

else if ($Module == 'edit') include('module/product/cornice/edit_cornice.php');
}

// "Страница душевая программа" *

else if ($Page == 'shower') {
if (!$Module or $Page == 'shower' and $Module == 'category' or $Page == 'shower' and $Module == 'main' or $Module == 'podcategory') include('module/product/shower/shower.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/shower/materialshower.php');

else if ($Module == 'edit') include('module/product/shower/editshower.php');
}

else if ($Page == 'washes') {
if (!$Module or $Page == 'washes' and $Module == 'category' or $Page == 'washes' and $Module == 'main' or $Module == 'podcategory') include('module/product/washes/washes.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/washes/materialwashes.php');

else if ($Module == 'edit') include('module/product/washes/editwashes.php');
}
else if ($Page == 'bath') {
if (!$Module or $Page == 'bath' and $Module == 'category' or $Page == 'bath' and $Module == 'main' or $Module == 'podcategory') include('module/product/bath/bath.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/bath/materiabath.php');

else if ($Module == 'edit') include('module/product/bath/editbath.php');
}
else if ($Page == 'pencilcase') {
if (!$Module or $Page == 'pencilcase' and $Module == 'category' or $Page == 'pencilcase' and $Module == 'main' or $Module == 'podcategory') include('module/product/pencilcase/pencilcase.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/pencilcase/materialpencilcase.php');

else if ($Module == 'edit') include('module/product/pencilcase/editpencilcase.php');
}
else if ($Page == 'product2') {
if (!$Module or $Page == 'product2' and $Module == 'category' or $Page == 'product2' and $Module == 'main' or $Module == 'podcategory') include('module/product/smes/smes.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/smes/materialsmes.php');

else if ($Module == 'edit') include('module/product/smes/editsmes.php');
}

else if ($Page == 'accessories') {
if (!$Module or $Page == 'accessories' and $Module == 'category' or $Page == 'accessories' and $Module == 'main' or $Module == 'podcategory') include('module/product/accessories/accessories.php');
else if ($Module !== 'material' and $Module !== 'edit') {
header("HTTP/1.0 404 Not Found");
exit(include('page/404.php'));
}
else if ($Module == 'material') include('module/product/accessories/materialaccessories.php');

else if ($Module == 'edit') include('module/product/accessories/editaccessories.php');
}


Как видите комментирование отсутствует, а собственно зачем? Как не трудно догадаться, идет вызов и инклуд нужных страниц сайта. Категорий 12 , а тут лишь малая часть, тк весь код - большой. Этот пример только для разогрева, дальше будет позоще

kick
01.10.2019, 19:09
В тег CODE нужно было закинуть. Ничего плохого не увидел, видели в разы хуже, а то и 10 раз. Возьму фрейм и половина из кода просто отпадёт. Стоит открыть код 1С и там хуже будет

Низ
01.10.2019, 19:12
@kick (https://forum.antichat.xyz/members/890001/), добавил тэг. Жестко вы меня конечно обломали.... я был уверен, что это редкостное дерьмо. Ладно по позже попробую еще кое-что докинуть

Desquire
01.10.2019, 19:38
// "Cтраница карнизов" *


Дальше можноне смотреть)

Gregory
01.10.2019, 19:54
А где код то? Че нам инклуды то показывать, где классы, где функции?

Низ
01.10.2019, 20:03
@Gregory (https://forum.antichat.xyz/members/891380/), классов естестно нет, потому, что я ими не научился пользоваться. Сейчас приду в чувства и еще выкину

Низ
01.10.2019, 20:09
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки

PHP:



function
Str_result
(
$POST
)
{
if
(
!
isset
(
$_SESSION
[
'Ul_params'
]
)
)
{
$_SESSION
[
'Ul_params'
]
=
0
;
}
else
{
if
(
$_POST
[
'NameUP'
]
)
$_SESSION
[
'Ul_params'
]
=
1
;
else
if
(
$_POST
[
'NameDown'
]
)
$_SESSION
[
'Ul_params'
]
=
2
;
else
if
(
$_POST
[
'PriceUP'
]
)
$_SESSION
[
'Ul_params'
]
=
3
;
else
if
(
$_POST
[
'PriceDown'
]
)
$_SESSION
[
'Ul_params'
]
=
4
;
else
if
(
$_POST
[
'idUP'
]
)
$_SESSION
[
'Ul_params'
]
=
0
;
else
if
(
$_POST
[
'idDown'
]
)
$_SESSION
[
'Ul_params'
]
=
5
;
}
if
(
$_SESSION
[
'Ul_params'
]
==
0
)
return
'`id` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
0
)
return
'`id` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
1
)
return
'`name` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
2
)
return
'`name` DESC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
3
)
return
'`priceflo` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
4
)
return
'`priceflo` DESC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
5
)
return
'`id` DESC'
;
}

òbiòbi верифицированный пользователь.
01.10.2019, 20:18
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки

PHP:



function
Str_result
(
$POST
)
{
if
(
!
isset
(
$_SESSION
[
'Ul_params'
]
)
)
{
$_SESSION
[
'Ul_params'
]
=
0
;
}
else
{
if
(
$_POST
[
'NameUP'
]
)
$_SESSION
[
'Ul_params'
]
=
1
;
else
if
(
$_POST
[
'NameDown'
]
)
$_SESSION
[
'Ul_params'
]
=
2
;
else
if
(
$_POST
[
'PriceUP'
]
)
$_SESSION
[
'Ul_params'
]
=
3
;
else
if
(
$_POST
[
'PriceDown'
]
)
$_SESSION
[
'Ul_params'
]
=
4
;
else
if
(
$_POST
[
'idUP'
]
)
$_SESSION
[
'Ul_params'
]
=
0
;
else
if
(
$_POST
[
'idDown'
]
)
$_SESSION
[
'Ul_params'
]
=
5
;
}
if
(
$_SESSION
[
'Ul_params'
]
==
0
)
return
'`id` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
0
)
return
'`id` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
1
)
return
'`name` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
2
)
return
'`name` DESC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
3
)
return
'`priceflo` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
4
)
return
'`priceflo` DESC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
5
)
return
'`id` DESC'
;
}



Что-то пошло не так

Код:



if($_SESSION['Ul_params'] == 0) return '`id` ASC';
else if($_SESSION['Ul_params'] == 0) return '`id` ASC';


Много, оч. много if и else if. Пора научится пользоваться switch

Низ
01.10.2019, 20:20
@obius (https://forum.antichat.xyz/members/893543/), Глянул тех. доки по этому оператору. Скажу честно впервые узнал про него. На тех, на ком учился про этот оператор никогда не говорили

òbiòbi верифицированный пользователь.
01.10.2019, 20:24
@Низ (https://forum.antichat.xyz/members/894455/), вот пример

Код:



switch ($_SESSION['Ul_params']) {
case 0: return '`id` ASC';
case 1: return '`name` ASC';
case 2: return '`name` DESC';
case 3: return '`priceflo` ASC';
case 4: return '`priceflo` DESC';
case 5: return '`id` DESC';
//default: unregistered param!
}

kick
01.10.2019, 20:24
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки

PHP:



function
Str_result
(
$POST
)
{
if
(
!
isset
(
$_SESSION
[
'Ul_params'
]
)
)
{
$_SESSION
[
'Ul_params'
]
=
0
;
}
else
{
if
(
$_POST
[
'NameUP'
]
)
$_SESSION
[
'Ul_params'
]
=
1
;
else
if
(
$_POST
[
'NameDown'
]
)
$_SESSION
[
'Ul_params'
]
=
2
;
else
if
(
$_POST
[
'PriceUP'
]
)
$_SESSION
[
'Ul_params'
]
=
3
;
else
if
(
$_POST
[
'PriceDown'
]
)
$_SESSION
[
'Ul_params'
]
=
4
;
else
if
(
$_POST
[
'idUP'
]
)
$_SESSION
[
'Ul_params'
]
=
0
;
else
if
(
$_POST
[
'idDown'
]
)
$_SESSION
[
'Ul_params'
]
=
5
;
}
if
(
$_SESSION
[
'Ul_params'
]
==
0
)
return
'`id` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
0
)
return
'`id` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
1
)
return
'`name` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
2
)
return
'`name` DESC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
3
)
return
'`priceflo` ASC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
4
)
return
'`priceflo` DESC'
;
else
if
(
$_SESSION
[
'Ul_params'
]
==
5
)
return
'`id` DESC'
;
}



Видали и похуже) В разы хуже



Что-то пошло не так

Код:



if($_SESSION['Ul_params'] == 0) return '`id` ASC';
else if($_SESSION['Ul_params'] == 0) return '`id` ASC';


Много, оч. много if и else if. Пора научится пользоваться switch


В чём преймущество switch?

òbiòbi верифицированный пользователь.
01.10.2019, 20:28
@kick (https://forum.antichat.xyz/members/890001/), красивее смотрится да и дергать одну и туже переменную для сравнения ее на разные значения ...

Низ
01.10.2019, 20:30
@obius (https://forum.antichat.xyz/members/893543/), я думаю куска говна бантик не украсит. Я в дальнейшем переделал всю логику, пользуясь комментариями более опытных пользователей. Например использовал GET и передавал параметры через url. Правда всегда боялся использовать GET , но у меня и так дырявый сайт как сыр и от тех же xss не спасет наверное. Я правда до конца не понял, что такое xss ....

Низ
01.10.2019, 20:35
@AndragorAndragor верифицированный пользователь., понимаете ли. Мне это ничего не объяснило. Там даже примеры сложные. Мне нужно по проще объяснение...

kick
01.10.2019, 20:38
PHP:



function
PrepareGetList
(
&
$arIblockElementFields
,
&
$arJoinProps
,
&
$bOnlyCount
,
&
$bDistinct
,
&
$arSelectFields
,
&
$sSelect
,
&
$arAddSelectFields
,
&
$arFilter
,
&
$sWhere
,
&
$sSectionWhere
,
&
$arAddWhereFields
,
&
$arGroupBy
,
&
$sGroupBy
,
&
$arOrder
,
&
$arSqlOrder
,
&
$arAddOrderByFields
,
&
$arIBlockFilter
,
&
$arIBlockMultProps
,
&
$arIBlockConvProps
,
&
$arIBlockAllProps
,
&
$arIBlockNumProps
,
&
$arIBlockLongProps
)
{

Низ
01.10.2019, 20:40
@kick (https://forum.antichat.xyz/members/890001/), я ничего не понял. Мне кажется вы забываете с кем общаетесь ...

òbiòbi верифицированный пользователь.
01.10.2019, 21:11
@kick (https://forum.antichat.xyz/members/890001/), я ничего не понял. Мне кажется вы забываете с кем общаетесь ...


это называется передача аргументов по ссылке.

вот что можно с этим сделать (на пример)

Код:

Logan22
02.10.2019, 01:51
Всё просто, чем проще язык, тем чаще такое встречается

Низ
02.10.2019, 23:05
Итак, прошу оценить код До-После

ДО

PHP:



function
ransmes
(
)
{
$r1
=
rand
(
742
,
872
)
;
return
"$r1"
;
}
function
ranacces
(
)
{
$r1
=
rand
(
1
,
230
)
;
return
"$r1"
;
}
function
ranpencil
(
)
{
$r1
=
rand
(
426
,
644
)
;
return
"$r1"
;
}
function
ranwash
(
)
{
$r1
=
rand
(
657
,
715
)
;
return
"$r1"
;
}
$Query3
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `priceflo`, `namephoto` FROM `products` WHERE `id` = '
.
$ransmes1
.
' AND `namecate` = "smes" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query3
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
ceil
(
KursRub
(
$Row
[
'priceflo'
]
)
)
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;
$ranacces1
=
ranacces
(
)
;
$Query4
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `priceflo` FROM `products` WHERE `id` = '
.
$ranacces1
.
' AND `namecate` = "accessories" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query4
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
ceil
(
KursRub
(
$Row
[
'priceflo'
]
)
)
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;
$ranpencil1
=
ranpencil
(
)
;
$Query5
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `price`, `namephoto` FROM `products` WHERE `id` = '
.
$ranpencil1
.
' AND `namecate` = "pencilcase" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query5
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
$Row
[
'price'
]
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;
$ranwash1
=
ranwash
(
)
;
$Query6
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `priceflo`, `namephoto` FROM `products` WHERE `id` = '
.
$ranwash1
.
' AND `namecate` = "shower" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query6
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
ceil
(
KursRub
(
$Row
[
'priceflo'
]
)
)
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;


После

PHP:



$db
=
getPDOconnect
(
)
;
// Подключение к БД
$id
=
array
(
(
rand
(
1
,
230
)
)
,
(
rand
(
426
,
644
)
)
,
(
rand
(
657
,
715
)
)
,
(
rand
(
742
,
872
)
)
)
;
$in
=
str_repeat
(
'?,'
,
count
(
$id
)
-
1
)
.
'?'
;
$query
=
"SELECT * FROM products WHERE `id` IN ($in)"
;
$stm
=
$db
-
>
prepare
(
$query
)
;
$stm
-
>
execute
(
$id
)
;
$echo_result
=
array
(
)
;
foreach
(
$stm
as
$row
)
{
$price_rub
=
$row
[
'price'
]
+
ceil
(
KursRub
(
$row
[
'priceflo'
]
)
)
;
$echo_result
=
''
.
$row
[
'name'
]
.
'


Цена: '
.
$price_rub
.
' руб.
'
.
BUY
(
$row
[
'id'
]
)
.
'
'
;
echo
$echo_result
;
}


Насколько понимаете, работает одинаково.

Desquire
02.10.2019, 23:24
@Низ (https://forum.antichat.xyz/members/894455/), первый говнокод, но логика до и после разная...

Да и это тупой рефакторинг. Твой код выглядит красевее, но все так же можно использовать в это теме как пример как не надо.

òbiòbi верифицированный пользователь.
02.10.2019, 23:36
@Низ (https://forum.antichat.xyz/members/894455/), только один вопрос. Зачем?

Объявлять переменную echo_result как массив

Код:



$echo_result=array();


а потом преобразовывать в строку

Код:


[CODE]
$echo_result = '

Низ
02.10.2019, 23:38
@obius (https://forum.antichat.xyz/members/893543/), забыл убрать эту часть. До этого думал использовать

$echo_result вне цикла, однако этого не потребовалось. Мне правда все-равно кажется, что это все очень еще плохо и далеко от идеала. Однако все-равно спасибо вам за оценку.

mr.s4z
02.10.2019, 23:40
@Низ (https://forum.antichat.xyz/members/894455/), вот пример

Код:



switch ($_SESSION['Ul_params']) {
case 0: return '`id` ASC';
case 1: return '`name` ASC';
case 2: return '`name` DESC';
case 3: return '`priceflo` ASC';
case 4: return '`priceflo` DESC';
case 5: return '`id` DESC';
//default: unregistered param!
}




Как минимум, нужно еще добавить проверку if(isset($_SESSION[....]) { .... }

òbiòbi верифицированный пользователь.
02.10.2019, 23:43
Как минимум, нужно еще добавить проверку if(isset($_SESSION[....]) { .... }


согласен. поможет избежать ошибок типов нотис.

mr.s4z
02.10.2019, 23:44
Итак, прошу оценить код До-После
ДО

PHP:



function
ransmes
(
)
{
$r1
=
rand
(
742
,
872
)
;
return
"$r1"
;
}
function
ranacces
(
)
{
$r1
=
rand
(
1
,
230
)
;
return
"$r1"
;
}
function
ranpencil
(
)
{
$r1
=
rand
(
426
,
644
)
;
return
"$r1"
;
}
function
ranwash
(
)
{
$r1
=
rand
(
657
,
715
)
;
return
"$r1"
;
}
$Query3
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `priceflo`, `namephoto` FROM `products` WHERE `id` = '
.
$ransmes1
.
' AND `namecate` = "smes" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query3
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
ceil
(
KursRub
(
$Row
[
'priceflo'
]
)
)
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;
$ranacces1
=
ranacces
(
)
;
$Query4
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `priceflo` FROM `products` WHERE `id` = '
.
$ranacces1
.
' AND `namecate` = "accessories" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query4
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
ceil
(
KursRub
(
$Row
[
'priceflo'
]
)
)
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;
$ranpencil1
=
ranpencil
(
)
;
$Query5
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `price`, `namephoto` FROM `products` WHERE `id` = '
.
$ranpencil1
.
' AND `namecate` = "pencilcase" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query5
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
$Row
[
'price'
]
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;
$ranwash1
=
ranwash
(
)
;
$Query6
=
mysqli_query
(
$CONNECT
,
'SELECT `id`, `name`, `namecate`, `priceflo`, `namephoto` FROM `products` WHERE `id` = '
.
$ranwash1
.
' AND `namecate` = "shower" ORDER BY `id` DESC LIMIT 1'
)
;
while
(
$Row
=
mysqli_fetch_assoc
(
$Query6
)
)
$Hit1
.
=
''
.
$Row
[
'name'
]
.
'

Цена: '
.
ceil
(
KursRub
(
$Row
[
'priceflo'
]
)
)
.
' руб.
'
.
BUY
(
$Row
[
'id'
]
)
.
'
'
;


После

PHP:



$db
=
getPDOconnect
(
)
;
// Подключение к БД
$id
=
array
(
(
rand
(
1
,
230
)
)
,
(
rand
(
426
,
644
)
)
,
(
rand
(
657
,
715
)
)
,
(
rand
(
742
,
872
)
)
)
;
$in
=
str_repeat
(
'?,'
,
count
(
$id
)
-
1
)
.
'?'
;
$query
=
"SELECT * FROM products WHERE `id` IN ($in)"
;
$stm
=
$db
-
>
prepare
(
$query
)
;
$stm
-
>
execute
(
$id
)
;
$echo_result
=
array
(
)
;
foreach
(
$stm
as
$row
)
{
$price_rub
=
$row
[
'price'
]
+
ceil
(
KursRub
(
$row
[
'priceflo'
]
)
)
;
$echo_result
=
''
.
$row
[
'name'
]
.
'


Цена: '
.
$price_rub
.
' руб.
'
.
BUY
(
$row
[
'id'
]
)
.
'
'
;
echo
$echo_result
;
}


Насколько понимаете, работает одинаково.



Совет.. откажитесь от внедрения HTML кода в PHP... это ужасно, как минимум - потом трудно будет вносить изменения.. Используйте готовые шаблонизатора, например twig, smarty.. (доки по приведенным шаблонизаторам в интернете - полно)

Низ
02.10.2019, 23:45
@I'm StreL (https://forum.antichat.xyz/members/890539/), я посмотрю, что это такое. Впервые слышу про это если честно

mr.s4z
02.10.2019, 23:49
@I'm StreL (https://forum.antichat.xyz/members/890539/), я посмотрю, что это такое. Впервые слышу про это если честно



Если приходилось использовать CMS, например DLE, StressWeb - любой человек, который имеет минимальные знания по HTML, сможет без труда поменять шаблон.. Папка template, которая содержит в себе .tpl файлы. Тот же титул можно будет вывести не как:

Код:



echo " $title "


а по человечески

Код:



{{ title }}

Logan22
03.10.2019, 16:45
$echo_result = ''.$row['name'].' Цена: '.$price_rub.' руб. '.BUY ($row['id']).' ';


Мало кто знает, но в PHP есть разница между двойными и одинарными кавычками, и они предназначаются для разных целей применения.

Если ты проведешь тест, ты увидишь, что твой код где будет использоваться с одинарные кавычки (как в данном случае) будет медленнее (в некоторых случаях в СОТНЮ раз), чем если бы ты использовал двойные.

Дело в том, что одинарные кавычки используются чисто для строк, они первично не предназначены что там будет ожидаться переменная, парсер PHP не ищет там переменную изначально, а конкатенация строк требует дополнительного времени и ресурсов.

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

Вообще это всё есть на официальном сайте и более развернуто, где-то в разделе о строках.



function ransmes () { $r1 = rand (742, 872); return "$r1"; } function ranacces () { $r1 = rand (1, 230); return "$r1"; } function ranpencil () { $r1 = rand (426, 644); return "$r1"; } function ranwash () { $r1 = rand (657, 715); return "$r1"; }


Зачем так много функций, если можно всё сделать в одной?

PHP:



function
ransmes
(
$rnd1
=
1
,
$rnd2
=
999
)
:
int
{
return
rand
(
$rnd1
,
$rnd2
)
;
}

Низ
03.10.2019, 19:40
@Logan22 (https://forum.antichat.xyz/members/890017/), крутые комменты. Про ковычки не знал. Спасибо

Nolanson
04.10.2019, 08:08
Мало кто знает, но в PHP есть разница между двойными и одинарными кавычками, и они предназначаются для разных целей применения.
Если ты проведешь тест, ты увидишь, что твой код где будет использоваться с одинарные кавычки (как в данном случае) будет медленнее (в некоторых случаях в СОТНЮ раз), чем если бы ты использовал двойные.
Дело в том, что одинарные кавычки используются чисто для строк, они первично не предназначены что там будет ожидаться переменная, парсер PHP не ищет там переменную изначально, а конкатенация строк требует дополнительного времени и ресурсов.
По этой причине, если в строке будет переменная, используй двойные кавычки.
Вообще это всё есть на официальном сайте и более развернуто, где-то в разделе о строках.

Зачем так много функций, если можно всё сделать в одной?

PHP:



function
ransmes
(
$rnd1
=
1
,
$rnd2
=
999
)
:
int
{
return
rand
(
$rnd1
,
$rnd2
)
;
}



Зачем вообще нужно объявлять функцию если можно просто rand() использовать сразу...

JavaScript:



{
name
:
'add'
,
path
:
'/addserver'
,
component
:
(
)
=>
import
(
'./components/Nahui.vue'
)
}


у себя нашёл