HraKK

HraKK
Рейтинг
128
Регистрация
02.03.2009

На скидку еще влезу?


HraKK: подозреваю, что несмотря на комьюнити, вы слабо понимаете ооп, и для вас нормально и привычно писать обычные функции - вот и продолжайте их писать, прежде чем писать всякую чушь

Да? Ну, пока у меня хорошее настроение, пройдусь немного по коду:

>index.php


ob_start();
.......
ob_end_flush ();

В нормальной концепции паттерна MVС вывод происходит в одном единственном месте - в конце отработки скрипта. Это просто аксиома любого нормального приложения.

И да, сразу - выводится в 1 месте не через перехват вывода, а нормально.

$Urlmap = &TUrlmap::Instance();

Для начала, в связи с особенности хранения обьектов в PHP5, а именно разнесения хранилищ на zVal и zObj куда помещаются объекты, все объекты передаются по умолчанию по ссылке.

Как по мне это все равно что азбука. Чтоб передать не по ссылке, надо явно это указать.

Дальше перешел посмотреть на объявление этого класса

>lib/urlmapclass.php


public static function &Instance() {
return GetInstance(__class__);
}

Читаем про нормальную реализацию паттерна Singleton

Дальше сразу в глаза бросается ужасный Code Styling, пройтитесь по коду каким-то IDE поправьте его.

Это кстати очень важно, но идем дальше в том же файле:


public function Request($host, $url) {
global $Options;
....
global $paths;

Глобальные переменные недопустимы в концепции ООП. Как только видишь просто слово global - уже дальше можно не смотреть.


@filemtime

Ошибки надо обрабатывать и предупреждать, а не глушить. Тоже самое как с global - дальше уже можно было не смотреть.


include($CacheFileName);
return;

1) нету проверки а есть ли вообще такой файл.

2) return - это пять.


eval('?>'. $s);

По всему приложению и дальше будут разбросаны eval - это вообще такое грубое нарушение что не знаю как описать. Просто eval в 99.9999% случаях нельзя ни при каких обстоятельствах использовать.

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


global $paths;
@unlink($paths['cache'] . $filename);
.....
$this->unlink("$id-$i.php");

Вот такое повсеместно. Подавлние ошибок, без проверок, глобалы...


public static function unsub(&$obj) {

У вас большое увлечение статическими функциями. Статические функции это само по себе нарушение ООП канонов и это не просто правило оно имеет под собой обоснование:


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

Почитайте про зависимости архитектуры. Правда Вы еще не поймете 90% написанного там, но будет куда стремится.


if ($class == 'TTags') {
eval('$result = "'. $html->addtag . '\n";');
} else {
eval('$result = "'. $html->addcategory. '\n";');
}
eval('$result .= "'. $html->{$form} . '\n";');
} elseif (!$tags->ItemExists($id)) {
eval('$result = "'. $html->notfound. '\n";');
} else {
$name = $tags->items[$id]['name'];
if (!empty($_GET['action']) &&($_GET['action'] == 'delete')) {
if (!empty($_GET['confirm']) && ($_GET['confirm'] == 1)) {
$tags->Delete($id);
eval('$result = "'. $html->successdeleted. '\n";');
} else {
eval('$result = "'. $html->confirmdelete . '\n";');
}
} else {
eval('$s = "' . $s . '\n";');

Я не знаю, как этот код комментировать без матов, поэтому опущу.

Дальше, у вас совсем с архитектурой плохо. Вы не умеете пользоваться наследованием, у вас нету не одного интерфейса или абстрактного класса.

У вас все классы используются как обвертка над функциями, 99% методов класса паблик. Это говорит о том что вы совершенно не владеете основами объектного программирования.

Паблик методов должно быть ~2-3 в среднем а то и меньше в классе. А у вас их 10-15.

По сути, вы используете классы как namespace для своих функций.

Я за такой код, отправлял сразу же безоговорочно на стройку.

А самое страшное, то что ТС считает что пишет качественный ООП код и что остальные ламера. Если человек признается что он дурак, это уже задает вектор направления из дурака до умного. А тут клиника. Выносите.

Ребята, не порите чушь, блин. И не спамте.

rijy, на самом деле тут ппц полный. Почему? Потому что ну раскрутитесь вы по некоторым ВЧ? и что? На таких сайтах основной контингент это постоянные читатели и НЧ. Если нч отпадают - то развивайте хорошие ВЧ, анализируйте актуальные темы( на них например можно теги писать на русском, на пару самых ходовых запросов) и развивайте бренд. Чтоб люди возвращались к вам не через поисковики.

Посмотрел данную CMS, субьективное мнение от модератора PHP коммьюнити, чисто кода.

Код эпическое унылое гавно.

Если вордпресс оно просто старый унылый функциональный код, то тут зло-эпический пожиратель мозга. А связано это с тем что люди не доучив самых основ сапромата, лезут строить небоскребы. Если в вордпрессе просто все делается тупо по старинке как это привыкли делать в osCommerse, phpNuke, shopScript то есть код обычный ламерский, то тут это ламерство обвлекли в псевдо-ооп стиль, сделав его просто тошнотворным и нефига не понятным.

Наудивление хороший ап.

Правда, 1 сайт никак в индекс не хочет влезть :(

Я один из тех кто записывался за отзыв. На протяжении раскрутки я оставлял очень лестные отзывы о работе ТС. Хотя обычно, особенно касатеся работы копирайтеров я оставляю очень критические комментарии. Да и вообще, я привык больше критиковать(кто меня знает на phpclub поймет). Тут же, впечатления очень положительные.

Меньше 2-х месяцев прошло, мой блог стал тысячником и имеет тИЦ 30, можете проверить сами. Впечатления настолько хорошие что я пожалуй закажу раскрутку и дальше этого блога. Правда, сейчас нету вмз свободных, так что обязуюсь оплатить по договоренности с ТС до конца следующей недели последующую раскрутку.

Кстати, блог совершенно не интересует для блогуна, чисто для души - мне нравится что есть с кем поговорить, куда излить свою душу. За что отдельное спасибо, ТС.

Спасибо за отзыв!

Я снова с Вами и готов так же быстро и оперативно размещать статьи!

Спасибо всем кто разместился и всем кто написал отзывы!

На данный момент, есть в наличии, еще немного мест на проиндексированных страницах, но их осталось опять же не очень много.

Все страницы где я размещаю Ваши ссылки находятся в индексе Яндекса и дяди Гугла!

rusik15, потому что надо читать что спрашивает ТС, а не тупо подсовывать свои рефы. Особенно улыбнуло про статьи.

Всего: 1724