Просмотр полной версии : Говнокод отечественного производства на PHP
Это авторское исполнение редкостного говна на 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 , а тут лишь малая часть, тк весь код - большой. Этот пример только для разогрева, дальше будет позоще
В тег CODE нужно было закинуть. Ничего плохого не увидел, видели в разы хуже, а то и 10 раз. Возьму фрейм и половина из кода просто отпадёт. Стоит открыть код 1С и там хуже будет
@kick (https://forum.antichat.xyz/members/890001/), добавил тэг. Жестко вы меня конечно обломали.... я был уверен, что это редкостное дерьмо. Ладно по позже попробую еще кое-что докинуть
Desquire
01.10.2019, 19:38
// "Cтраница карнизов" *
Дальше можноне смотреть)
А где код то? Че нам инклуды то показывать, где классы, где функции?
@Gregory (https://forum.antichat.xyz/members/891380/), классов естестно нет, потому, что я ими не научился пользоваться. Сейчас приду в чувства и еще выкину
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки
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
@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!
}
Например ф-ия которая, кроме ошибок практически ничего не выдает. А в идеале должна была делать фильтрацию товара в зависимости от нажатой кнопки
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/), красивее смотрится да и дергать одну и туже переменную для сравнения ее на разные значения ...
@obius (https://forum.antichat.xyz/members/893543/), я думаю куска говна бантик не украсит. Я в дальнейшем переделал всю логику, пользуясь комментариями более опытных пользователей. Например использовал GET и передавал параметры через url. Правда всегда боялся использовать GET , но у меня и так дырявый сайт как сыр и от тех же xss не спасет наверное. Я правда до конца не понял, что такое xss ....
@AndragorAndragor верифицированный пользователь., понимаете ли. Мне это ничего не объяснило. Там даже примеры сложные. Мне нужно по проще объяснение...
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
)
{
@kick (https://forum.antichat.xyz/members/890001/), я ничего не понял. Мне кажется вы забываете с кем общаетесь ...
òbiòbi верифицированный пользователь.
01.10.2019, 21:11
@kick (https://forum.antichat.xyz/members/890001/), я ничего не понял. Мне кажется вы забываете с кем общаетесь ...
это называется передача аргументов по ссылке.
вот что можно с этим сделать (на пример)
Код:
Всё просто, чем проще язык, тем чаще такое встречается
Итак, прошу оценить код До-После
ДО
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 = '
@obius (https://forum.antichat.xyz/members/893543/), забыл убрать эту часть. До этого думал использовать
$echo_result вне цикла, однако этого не потребовалось. Мне правда все-равно кажется, что это все очень еще плохо и далеко от идеала. Однако все-равно спасибо вам за оценку.
@Низ (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[....]) { .... }
согласен. поможет избежать ошибок типов нотис.
Итак, прошу оценить код До-После
ДО
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.. (доки по приведенным шаблонизаторам в интернете - полно)
@I'm StreL (https://forum.antichat.xyz/members/890539/), я посмотрю, что это такое. Впервые слышу про это если честно
@I'm StreL (https://forum.antichat.xyz/members/890539/), я посмотрю, что это такое. Впервые слышу про это если честно
Если приходилось использовать CMS, например DLE, StressWeb - любой человек, который имеет минимальные знания по HTML, сможет без труда поменять шаблон.. Папка template, которая содержит в себе .tpl файлы. Тот же титул можно будет вывести не как:
Код:
echo " $title "
а по человечески
Код:
{{ title }}
$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
)
;
}
@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'
)
}
у себя нашёл
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot