[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оцените проект
Страницы: 1, 2, 3, 4, 5, 6
killer8080
paul85
тут пассивная XSS
Цитата (paul85 @ 26.12.2013 - 21:42)
        $this->smarty->assign('request', $_GET['partnumber']);

GET
Цитата
Под класс уже память выделена.

Этот класс используется только в начале пути, при первом запуске сайта, при авторизации на прямую-через форму или куки. Все остальное - запрос в очень легкую таблицу бан/не бан, письма есть/писем нет.
Цитата
Нет ни одного плюса кроме эфемерного "нельзя поменять".

Я уже написал про ее видимость. Нет ни одного плюса, как то странно звучит.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
glock18
Цитата (ABC @ 27.12.2013 - 09:09)
Я уже написал про ее видимость. Нет ни одного плюса, как то странно звучит.


Трактовка видимости глобальной константы как ее плюса - вот это странно, как по мне.
GET
Цитата
Это какое-то золотое правило, о котором я не слышал?

ну не знаю, как у вас у меня вынужденный logout это крайне редкое и вынужденное событие, поэтому чего ему там еще можно показать? Ну можно что-то типа 404 страницы завернуть ну а для чего?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
glock18
Цитата (ABC @ 27.12.2013 - 09:13)
ну не знаю, как у вас у меня вынужденный logout это крайне редкое и вынужденное событие, поэтому чего ему там еще можно показать? Ну можно что-то типа 404 страницы завернуть ну а для чего?


ммм, ну представьте себе ситуацию, что царь всея сайта админ/менеджер что-то сделал со страницей, настроил уникальный контент для зарегистрированных пользователей, и гостям хочет показывать другой контент. Для того, чтобы проверить это, он, конечно, по-вашему, может разлогиниться, затем дойти до нужной ему страницы с главной (вы, конечно, просто адрес скопируете, за что вам бонусный балл), увидеть что все ок, затем опять залогиниться, чтобы войти в админку.

Повторить нужное кол-во раз для каждой страницы или каждого изменения )) Очень, я думаю, он этому обрадуется.

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

Почему так?
GET
Для админов можно просто сделать кнопочку, зайти под обычным смертным.

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

Почему так?


Да я вообще не такой. Я благодаря "вам", на этом форуме в смысле форумчанам всему можно сказать научился и учусь.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Oyeme
Цитата
Например контроллер AJAX у меня может вообще ничего не наследовать, если там, например, только JSON. И тогда как я пойму залогинен пользователь или нет? Если создавать экземпляр каждый раз, то можно рано или поздно начать создавать по несколько одинаковых объектов, что и вовсе ИМХО недопустимо. Городить singletone? Звучит тоже неубедительно...

Проверятее через класс автоидентификации,залогинен пользователь или нет.
Разделяем логику если мы не хотим чтобы AjaxController наследовал общии метода от BaseController

BaseController extends AbstractController
SearchController extends BaseController {}

AjaxController extends AbstractController {}


Цитата
Зачем создавать класс, который будет вращаться вокруг проверки единственной переменной???

В чем такая вот выгода? В двух словах можно или если мне повеет, то осознание придет ко мне годами позже?

В этом классe Вы реализуете методы проверок,а так же заполнения сессии.
В лучшем случаи заполнения модели Users

Модель Users никак не относится к авторизации.

Цитата
Код 302, 301 это вообще-то относиться к HttpResponse нежели к ошибкам

В идеале так и должно быть.

В Вашем проекте сейчас код слитный с процедурным подходом.

Без использования интерфейсов,абстрактных классов.
Вы не видите преимущества,в идеале Вы бы запихнули бы все в один файл или же использовали бы функции и процедуры.

В ООП много спорных реализаций,но это лишь на архитектурном уровне.
В Вашем примере это просто не понимания и не применение паттернов.

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

Концепции и проектирование архитектуры тоже самая в любых проектов в любом языке (ООП) в том же java/C языках.
bestxp
Цитата
Вам нужно учиться проектировать архитектуру и научиться отделать то что будет меняться а что нет.
Разбивая все задачи на более маленькие,там самым создавая не зависимую систему.


Ну это точно не ко мне, проектировать научен уже достаточно давно wink.gif

ps

любой говнокод если захотеть можно отрефакторить, будь там процедурный подход или какой либо другой, другой вопрос цена это ( время и количество новых фич которые можно сделать за это время )

Сталкивался с такой штукой, главное не увлекаться делать всё сразу круто xD
bestxp
Цитата (MiksIr @ 27.12.2013 - 15:30)
Цитата (bestxp @ 27.12.2013 - 15:19)
любой говнокод если захотеть можно отрефакторить, будь там процедурный подход или какой либо другой, другой вопрос цена это ( время и количество новых фич которые можно сделать за это время )

А рефакторинг не имеет отношения к новым фичам.
Более того, если принимать рефакторинг, как мини изменения - то не каждый говнокод можно отрефакторить - там может быть такая сцепка, что одно обязательно потянет другое и т.п. Уже проще переписывать будет.

Это называется ацикличная зависимость, и когда ты запустил свой проект и перешел точку не возврата
glock18
Цитата (bestxp @ 27.12.2013 - 11:44)
Это называется ацикличная зависимость, и когда ты запустил свой проект и перешел точку не возврата

И что, такой проект можно отрефакторить?
bestxp
такого нельзя допускать , а не то что рефакторить

если менеджер или директор не дает на это время, гнать в шею таких
а объяснить это очень даже легко
glock18
bestxp
Ну, вы сказали
Цитата (bestxp @ 27.12.2013 - 11:19)
любой говнокод если захотеть можно отрефакторить


Выходит, что так называемая ацикличная зависимость уже/еще не говнокод? Ябыназвал это говноподходом, но не вижу, почему она не говнокод. Речь ведь не о том, можно допускать это или нет. Кто-то кроме вас уже допустил, и не спросил разрешения smile.gif
bestxp
Даже ту зависимость можно разгрести, и мне приходилось разгребать, не переписывая с 0
но в итоге пройдя несколько шагов рефакторинга, это стало выглядлеть как заного написанное.

шаги простые на самом деле, даже у Фаулера в его "Рефакторинге" это прекрасно описано
только вот у многих так что "чукча не читатель, чукча писатель"

лучше скопипастить или наговнокодить, и потом еще раз, чем отрефакторить
paul85
Цитата
В Вашем примере это просто не понимания и не применение паттернов.

Паттерны... Они имеют очень расплывчатое описание. Вот например:
Свернутый текст

class foo
{
public function getlocation()
{
echo "Location is foo";
}
}


class bar
{
public function getlocation()
{
echo "Location is bar";
}
}


class qwerty
{
static public function getinstance()
{
if($_SESSION['SomeVar']==1)
return new foo();
else
return
new bar();
}
}


$obj = qwerty::getinstance();
$obj->getlocation;

Чего это за паттерн? Я точного описания не нашел... или это не паттерн? По крайне мере похож на фабрику... Можно в качестве шаблона наследовать интерфейс. Но нафига он нужен, если разработчик один и не страдая склерозом в состоянии упомнить 2-3 обязательных к реализации метода.

Цитата
Разделяем логику если мы не хотим чтобы AjaxController наследовал общии метода от BaseController

И так тоже пробовал. Грабли обнаружил когда контроллеру AJAX резко в одном из методов понадобился объект Smarty. А тот был, выражаясь данной терминологией, в BaseController'е. Поскольку AJAX наследовал Core, то соответствующего объекта там не было.

Цитата
тут пассивная XSS

Оу, большое спасибо! Хотя современные браузеры такие вещи ловят, но заэкранировать совершенно не лишнее!

P.s. Посоветуйте книжку по паттернам. Желательно с примерами на PHP.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.