-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Логичные места для ООП/OOP #25
Comments
Как лучше выложить сделанный класс для Captcha? Думаю про отдельный репозиторий. |
можно просто сделать отдельную ветку (Branch) |
Тоже вариант, но неудобство в том что разные ветки - и потом черри между ними - брр. |
А так код вышел такой: <?php
require('core/core.php');
include 'classes/CaptchaImage.php';
$imagestring = $_SESSION['imagestring_' . $_GET['imagehash']];
if (empty($imagestring))
$imagestring = 'WTF?';
$image = new CaptchaImage($imagestring);
$image->output_image();
?> <?php
require('core/core.php');
define('COOKIE_SALT', 'some salt to protect cookies and do other stuff');
include 'classes/Captcha.php';
include 'classes/CommentsCaptcha.php';
$cap = new GenericCaptcha();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$is_valid_cap = $cap->validateCaptcha();
}
echo <<<VIEW
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Captcha Test</title>
<link rel="stylesheet" href="styles/style.css" type="text/css">
</head>
<body>
<form action="index.php" method="post">
VIEW;
echo $cap->getHtmlForm();
$validation_result = include 'templates/validation.php';
echo <<<VIEW
<br /><input type="submit" value="Проверить" />
</form>
Результат проверки кода: $validation_result
</body>
</html>
VIEW;
?> |
что насчет реализации неких "Entity" типа User или Torrent ? |
Думал о таком, но с капчей легче всего. Потом есть смысл колупать Torrent и только после User. |
Давайте попробуем накрутить что-то для Comments, например. Что внутри Comments::fetch будет? sql_query? Или обертку напишем для конструктора запросов и от него наследовать будем? |
Я думаю чуть-чуть по другому: ::fetch нельзя, только ->fetch ;) У нас-же не статический метод. Что там внутри - я думаю, что неплохо хотя-бы использование sql_query, а сам запрос (его шаблон) брать из свойств класса. Тут надо смотреть. Я, с одной стороны, хочу сделать нормально, с другой, не хочу слишком привязыватьтся к каким-то вещам намертво - переделывать будет мучительно. А с первого раза сделать правильный выбор - та еще задачка :) |
Имел ввиду не статический метод, конечно. |
А зачем использовать PDO? Лучше воткнуть DBAL, который, пока, будет использовать mysql_. |
Например потому что mysql_ больше не поддерживается, не рекомендуется и вообще нет нет нет? |
Ты не прав: устарело расширение mysql, но не mysqlnd. Функции mysql_ никогда не устаревали. |
ИМХО самое первое место которое стоит переделать на классы это captcha.
Осталось подумать как-же передавать нужный hash от строки, можно как hidden поле в форме.
Дальше идет вывод формы комментариев и сами комментарии:
P.S: Я совсем не желаю использовать такие конструкторы:
Буду рад выслушать критику.
The text was updated successfully, but these errors were encountered: