PHP и с чем его едят....

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
E_NOTICE предупреждает девелопера о потенциальных ошибках, грязном коде, опечатках, плохом стиле и неинициализированных переменных в частности. must have для разработчика.

На счет trim – Вы пытаетесь языку навязать сильную типизацию. Это просто не PHP-way.
Первый вариант более параноидальный, второй, как я считаю, более правильный.
Ну да ладно, не php-way, значит не php-way.
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
req
PHP:
<?php
error_reporting(E_ALL);
function _trim($str)
{
	if(!isset($str))
	{
		trigger_error("first param must not be null or empty string", E_USER_NOTICE);
		//return null по желанию
	}
	else
		return trim($str,$arr);
}
function _trim2($str)
{
	if(!isset($str))
		return null;
	else
		return trim($str);
	
}
echo '<pre>';
echo 'trim';
$str=trim(null);
var_dump($str);
echo '_trim';
$str2=_trim(null);
var_dump($str2);
echo '_trim2';
$str3=_trim2(null);
var_dump($str3);
echo '</pre>';

?>
ans
Код:
trimstring(0) ""
_trim

Notice:  first param must not be null or empty string in C:\AppServ\www\index4.php on line 7

NULL
_trim2NULL
Но выполняется же :)

P. S.
php 5.2.6
 

ostapoff

Member
А в этом случае для пустой строки notice не будет никогда выведен :)

Все-таки, Вы слишком все усложняете. В PHP есть десяток других типов и для каждого из них в таком случае тоже нужно запрещать trim? trim(array()) или trim(0) или trim(false), ну и необязательно со значениями, приводящимися к пустой строке.
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Предыдущий пример был запилен исключительно для того, чтобы показать, что работает !isset($str).
Если бы я и тут написал
$str == '' || !isset($str)
То опять прочитал бы то, что !isset не выполнится, а я, вроде бы, доказал состоятельность своего примера, или нет? :)
 

ostapoff

Member
просто !isset($str) лишний.
$str == "" исключит как "", так null, 0, array() и false
 
извините не сдержался:
1. "да простят меня Dre, bllem и весь остальной пантеон php программеров" - :))))
2. вынужден согласится с гражданином ostapoff, PainKiller ты хочеш чего доказать, что в php библиотека не логичная, выглядит всё как ёперный театр, так оно так и есть. Но пример не удачный:) Хватит умничать:)))
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
извините не сдержался:
1. "да простят меня Dre, bllem и весь остальной пантеон php программеров" - :))))
2. вынужден согласится с гражданином ostapoff, PainKiller ты хочеш чего доказать, что в php библиотека не логичная, выглядит всё как ёперный театр, так оно так и есть. Но пример не удачный:) Хватит умничать:)))

Я не хотел никому ничего доказывать, мне просто стало интересно, это нормально, или нет, мне показалось, что не нормально. Но все-равное, из пустой строки null мне не нравится.:D
Живая тема в программировании на этом форуме - круто же.
 
Останнє редагування:

akick

letter to god
да простят меня я, но вы задроты :x

маленький upd на правах не флуда:
в php нелогичны нелогичные кодеры, а не язык.
То что человек незнающий языка доказывает его нелогичность ещё раз доказывает состоятельность первого предложения, он ненавязчив от этого и его проблемы, а ещё большие проблемы от E_ALL | ~E_NOTICE люди вообще забывают следить за чемто если это не обзательно, а отсюда быдлокод, люди забывают что если может быть просто не нужно делать красиво отсюда и былокод, а отсюда гневные высказывания папок гавно ваш пхп мой <супер пупер нетепизированный язык> круче. И да да, при желании даже множественное наследование в рамках паттерна mixin может быть вам доступно.

Намасте господа.
 
Останнє редагування:
класная штука - форум, ктото влазит, чтото ляпает и убегает, зачем ты казёл финиш испортил? красивый был:(

и маленький апдейт после твоего маленького апдейта:

php для большинства сейчас первый, первый язык должен навязывать правильный кодинг а не расхолаживать. Тогда и енотисы ненужны будут. Первый и ещё желательно пару впереди должны быть типизированные языки, это как минимум а вообще последовательность считаю такая, Java, Erlang, Ruby. Только нахрена тогда PHP. Вот и я думаю. А да, забыл, много хостингов дешовых и разных:)
 
Останнє редагування:
Зверху