Как вы можете скрыть sql в php, (создавать общие команды или функции sql в php), поэтому у вас нет оператора sql в вашем php-коде? Я не хочу использовать ORM или ООП.Скрытие sql в php
PunBB делает что-то вроде этого:
$query = array(
'SELECT' => 'f.id AS fid, f.forum_name, f.moderators, f.redirect_url, fp.post_replies, fp.post_topics, t.id AS tid, t.subject, t.first_post_id, t.closed, p.poster, p.poster_id, p.message, p.hide_smilies, p.posted',
'FROM' => 'posts AS p',
'JOINS' => array(
array(
'INNER JOIN' => 'topics AS t',
'ON' => 't.id=p.topic_id'
),
array(
'INNER JOIN' => 'forums AS f',
'ON' => 'f.id=t.forum_id'
),
array(
'LEFT JOIN' => 'forum_perms AS fp',
'ON' => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
)
),
'WHERE' => '(fp.read_forum IS NULL OR fp.read_forum=1) AND p.id='.$id
);
Любой знает, как это реализовано?
Почему? Вы хотите, чтобы ваш код ** был менее читабельным и поддерживаемым? Позаботьтесь о том, почему? – ircmaxell
Я могу понять, почему он хотел бы это сделать; Это упрощает динамическое создание запроса, поскольку вы можете просто добавлять/перезаписывать команды/предложения с помощью '$ query ['WHERE'] = 'parameters'' и удалять их с помощью' unset ($ query [' WHERE ']); '. Это было бы намного сложнее, если бы вам приходилось разбирать Query-String каждый раз, когда вы хотите что-то с этим сделать. – anroesti
Если у кого-то есть доступ к исходному коду, вы действительно беспокоитесь о том, что скрываете тот факт, что используете SQL? – ceejayoz