PHP в деталях - Новые статьи

AnToXa

prodigy-одаренный ребенок
вот я как раз тоже хотел спросить где статья по постгресу :)
 

Фанат

oncle terrible
Команда форума
Maxim Matyukhinраздел для новичков - это следствие.
Это частный случай структуры сайта.
Это не решение, а следствие решения.

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

А решение можно будет принимать ТОЛЬКО после того, как Янг, вообще-то выскажется однознанто в том смысле, что все эти наши разговоры его интересуют.
Ибо мы все к нему не имеем ни малейшего отношения.
он ресурсом занимается и имеет право наединоличное распоряжение.
просто потому, что он что-то делает.
 

Yukko

Новичок
young
Мой последний пост — мое личное мнение :) Хотя было бы интересно послушать чем именно понравилась эта статья, что она без изменений была принята и опубликована...

Фанат
Можешь прочитать и что-то сказать именно по этой статье (про проектирование Инет-прилжений)? интересно будет знать твое мнение.

AnToXa:
Удалить статьи Курепина и не позориться, куча бреда
Если Фанат написал свои аргументы и высказал более или менее определенно по поводу статьи, то у тебя это не видно, критика должна быть обоснованной, я не защищаю Курепина, но объясни мне пожалуйста, почему ты считаешь это кучей бреда? потому что так Фанат
считает? или у тебя есть другие мотивы?
AnToXa:
и в некоторых моментах вообще путают читателя(новичка).
В каких именно? прошу указать. Создайте отдельный топик и обсудите весь бред, который написан в этой статье, и на что этот бред надо исправить, я думаю, young продолжает бороться за качество материала на деталях, поэтому все пожелания и исправления он учтет.
 

young

Новичок
Янг, вообще-то выскажется однознанто в том смысле, что все эти наши разговоры его интересуют.
Интересуют, но ты прав, решение таки принимать мне, выслушав ваши мнения.
Так что пока продолжаю слушать.
 

young

Новичок
я думаю, young продолжает бороться за качество материала на деталях, поэтому все пожелания и исправления он учтет.
Нет, young не будет делать исправления. Young просто удалит соотв. статьи.

она без изменений была принята и опубликована
Статьи должен редатировать автор/корректор но не я :(
 

AnToXa

prodigy-одаренный ребенок
Yukko: хыхыхы, вы думаете у меня своей головы на плечах нет, я все за Фанатом повторяю? :D :D :D
Итак. Статья "Работа с массивами в PHP".

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

Следующая строка по кавычки - опять же запутывает, ибо не сказано зачем брать ключи в кавычки. надо было вообще сказать, что кавычки необходимы и все.

Следующий абзац. В пхп нет многомерных массивов, есть массивы массивов.

из статьи
--
В первом случае мы видим массив имен, присвоенных ячейкам с конкретными номерами (все промежуточные ячейки заявлены пустыми).....
неверно, промежуточные ячейки не "заявлены пустыми", этих ячеек не существует.

про распечатку массива через plain implode Фанат уже говорил.

Если нужно создать массив для одной операции?
Тогда можно воспользоваться функций list(), объединяющей перечисленные в ней переменные в единый массив.
неверно.
1. list - это не функция, а language construct
2. она ничего в единый массив не объединяет и конструкция
PHP:
echo implode(',',list($one, $two, $three));
вообще не парсится, что логично.

насчет:
PHP:
while ($i < count($array_name)) echo $array_name[$i++];
хорошо бы инициализировать i перед циклом, да и для массивов со строковыми ключами это не работает.

далее производится "сравнение" ассоциативных и "обычных" массивов, а сравнивать нечего как мы знаем :)

думаю, что во второй статье(про индексы в mysql) тоже куча вот таких плюх. не читал.
 

Yukko

Новичок
Yukko: хыхыхы, вы думаете у меня своей головы на плечах нет
==дальше много умного текста, не пишу, чтобы не оверквотить==
вот с этого и начинать надо :)

А меня желательно на ТЫ, маленький я еще.
 

AnToXa

prodigy-одаренный ребенок
peace, маленький :D
мы, старые и мудрые, любим мир, водка пить земля валяться.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: AnToXa
вот я как раз тоже хотел спросить где статья по постгресу :)
всё там же, у меня на сайте

что интересно, проанонсирована была здесь и на sql.ru, по referer'ам примерно 2,5:1 лидирует sql.ru
 

confguru

ExAdmin
Команда форума
Sad Spirit

sql.ru давить :))

Экслюзивно публикуй на SadSpirit.phpclub.net
Или на деталях.. :)
 

fixxxer

К.О.
Партнер клуба
Ну вот, всё посносили, я даж и прочитать не успел. :)
 

fixxxer

К.О.
Партнер клуба
Пройдемся по тому, что есть.

http://detail.phpclub.net/article/2000-11-21

Работа с базами данных. Начало.

4. Запросы-действия
Это команды DELETE и UPDATE.
И только? Подобные запросы - в "правах" такие же, как и SELECT, поэтому отправка команды серверу происходит тем же способом - mysql_query (mysql_db_query). Но в данном случае функция не возвращает результата:

$result = mysql_query("SELECT * FROM sometable");
но
mysql_query("DELETE FROM sometable WHERE id=...");

А вот и нифига подобного.
Only for SELECT,SHOW,EXPLAIN or DESCRIBE statements [m]mysql_query[/m]() returns a resource identifier or FALSE if the query was not executed correctly. For other type of SQL statements, mysql_query() returns TRUE on success and FALSE on error.
И проверять непосредственно возвращаемое mysql_query() значение всяко правильнее, чем дергать mysql_error(), как рекомендуется далее в этой статье. То же самое - прежде, чем дергать mysql_fetch_row(), $result надо проверять.

Про Особенно рекомендую первый (phpmyadmin) способ. С ним не придётся изучать запросы ALTER TABLE, ADD COLUMN и т.п. Я их не знаю до сих пор. я, пожалуй, вежливо промолчу...
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/2000-12-05
Работа с MySQL: Подробнее

По возможности минимально используйте LEFT JOIN для объединения таблиц. Это весьма трудоёмкая операция для базы данных.
А что же тогда использовать, если оно необходимо? MySQL, кстати, весьма шустр на JOIN-операциях - если JOINить по индексированным полям, само собой.

Перед внесением в базу поле можно обработать функцией str_replace: $somefield = str_replace("'", "'", $somefield);
Ну эт ваще.

// получаем количество строк
$amount = @mysql_result(mysql_query("SELECT count(id) as goods_total FROM goods"),0);

Хм, не знаю, насколько в данном случае тормозит (или не тормозит) использование mysql_result, но я считаю, что про эту функцию вообще стоит забыть.

if ($count/2==intval($count/2))
Брррр...
if ($count % 2)

....И, опять же, предполагается register_globals=on.
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/mysql_search
Не закрыт тэг <h1>, поэтому читать невозможно :)
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/2001-01-13
Как-то уж слишком поверхностно. "Что такое массив - для полного идиота". Ни одна из array* функций не рассмотрена, как и несправедливо забыто про foreach, который всяко удобнее всех остальных способов. В комментах многое верно сказано...
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/2001-01-16
Имитация файлов и директорий

"Базовый способ работы с интуитивно-понятными адресами через обработку 404-й ошибки."
Самый дурной способ из существующих. :)
При том, что Rewrite и ForceType практически не описаны.
Про реализацию, пожалуй, вообще помолчу, отмечу лишь явный SQL injection vuln (http://blablabla/a'b/ - пойдет прямиком в mysql_query).
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/simple_regular

Непонятно, почему заголовок - "Безопасный и удобный поиск в mySQL". :)

Упор на POSIX, хотя про него лучше сказать просто "да, такие есть, если что - в манах прочитаете, но лучше использовать PCRE - они быстрее и гибче".

А дальше можно было бы привести несколько примеров на preg_match, preg_match_all и preg_replace и дать ссылку http://phpclub.ru/manrus/f/ref.pcre.html :)
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/2001-03-06
"Дверца в защите: почтовый веб-интерфейс"
Это вообще к чему, и при чем здесь PHP?
Руководство "как влезть в чужой мейл аккаунт?"
Можно, конечно, относиться к статье как к описанию того, как не надо делать... но... как-то не особо в тему, все равно.
 

fixxxer

К.О.
Партнер клуба
http://detail.phpclub.net/article/2001-03-13
Объектно-ориентированное программирование. Абстрактные классы БД

Про собственно ООП я так ничего и не увидел.
Кроме ADODB, вообще какие то левые классы, зато забыт Pear::DB.
Совершенно не затронут очень важный вопрос: СУБД различаются далеко не только синтаксисом LIMIT m,n, но и возможностями, и при использовании любого DB Abstraction Class мы опускаемся до уровня самых примитивных возможностей, общих для всех СУБД. Как и нет бенчмаркинга как такового - лишь фраза "все эти красивые вещи оборачиваются большей ресурсоемкостью программ".
 
Сверху