+2.21
Рейтинг
4.36
Сила

Алексей Куликов

  • avatar clops
  • 0
Отличная идея :) так и сделаю!
  • avatar clops
  • 0
Перевод в процессе… будет немецкая локаль!
  • avatar clops
  • 0
Хм… а мне нравится :)
  • avatar clops
  • 0
Зелёный который в счётчиках остался?
  • avatar clops
  • 0
Издержки производства :) спасибо!
  • avatar clops
  • 0
(irony)100 у.е. переведите мне в ЯД пож-ста(/irony)
  • avatar clops
  • 0
там в конфиге это активируется за 5 секунд
  • avatar clops
  • 0
Спасибо что указали на явный косяк каталога livestreet, если там держать старые версии файлов вместе с новыми, то по-дефолту почему-то отдаются старые. Я их подтёр, теперь всё из коробочки верно должно быть!
  • avatar clops
  • 0
Да, именно к хукам шаблонов :)
  • avatar clops
  • 0
По теме — полностью поддерживаю «нормализацию» и уход от регулярок там, где им точно не место

Офтопик — Было бы ещё круто ввести дополнительные хуки для работы с _любыми_ видами топиков. Я, например, делаю плагин, который для всех типов контента будет генерить ЧПУ — а получается что к топикам типа Опрос и Ссылка никак без бубна не подключиться :( А как жить плагину, если типов контента за счёт других плагинов будет больше?
  • avatar clops
  • 0
Просто многие следуют принципу «что слышу, то пою», а те кто им изначально это напел наверное погоняли какой-нить стандартный ORM Framework против «пустных» запросов и решили «что они все такие». Я сам когда-то сравнивал Doctrine и AdoDB — и да, doctrine в 30 раз медленее AdoDB, но всё равно в пределах тысячных секунды. Это всё статичный оверхед, и с ним можно спокойно жить :)
  • avatar clops
  • 0
лучше положите в Вики с общим доступом — быстро всё переведём!

кстати, это можно сделать и для плагинов, а то многие только на русском
  • avatar clops
  • 0
Вообще ORM — это очень удобно, если заранее не зацикливаться над сумасшедшей гибкостью, а иметь стандартный и небольшой набор хорошо обкатаных и документированых функций для разработчиков. Это я к тому, что целиком и полностью поддерживаю инициативу Ajaxy.

Мои пять копеек к «внутренностям»:

1. Вместо предложеного дефолтного метода Add() (и, как я полагаю ещё и Update()) иметь один центральный метод Save(). Если нет ID то будет создаваться новая запись в СУБД, если есть, то будет апдейтиться старая.

2. Очень хотелось бы видеть в какой-нибудь далёкой версии LS дельную имплементацию Unit Of Work — проще говоря, я в скрипте загружаю и меняю объекты, а все эти изменения пишутся в базу «одним махом» в ходе одной транзакции.

3. Мне кажется что так же было бы крайне круто иметь стандартный magic метод для сеттеров и геттеров во всех объектах ORM, что-то типа:


<?php
//Magic Setter
public function __set($key,$val) {
    if(method_exists($this,'set'.ucfirst($key))){
        $functionName = 'set'.ucfirst($key);
        return $this->$functionName($val);
    }
    
    if(property_exists($this,$key)) {
        $this->$key = $val;
        return true;
    }
    
    throw new Exception('Property "'.$key.'" unknown');
}

//Magic getter
public function __get($key) {
        if(method_exists($this,'get'.ucfirst($key))){
            $functionName = 'get'.ucfirst($key);
            return $this->$functionName();
        }
        
        if(property_exists($this,$key)) {
            return $this->$key;
        }
        
        throw new Exception('Property "'.$key.'" unknown');
    }
?>
  • avatar clops
  • 0
Вы не поняли самого важного — это в первую очередь посты, которые комментируют ваши друзья!
  • avatar clops
  • 0
жить можно, конечно, но это тупо для экономии времени
  • avatar clops
  • 0
+1 за прототип!

мне кажется что в движке не хватает дефолтного «создателя» пустых плагинов, что-то типа scaffold, думаю что можно легко организовать на уровне шелл скрипта
  • avatar clops
  • 0
Вообще я поковырялся в плагине Вадима — как я понял он переопределил добавление топика… и что-то я там нигде не нашёл вызов хука «topic_add_after» — может быть в этом проблема?
  • avatar clops
  • 0
У меня вот так

public function RegisterHook() {            
            $this->AddHook('topic_add_after', 'AddLastUpdate', __CLASS__);             
            $this->AddHook('comment_add_after', 'UpdatedComment', __CLASS__);         
            
            //$this->AddHook('template_userbar_item','Menu');
            if($oUserCurrent=$this->User_GetUserCurrent()){
                $this->AddHook('template_main_menu','Menu');
            }
        }


И первый хук «topic_add_after» не выполняется если другой плагин «его занимает» :(
  • avatar clops
  • 0
Спасибо!

Я попробовал — почти всё работает.

Правда там другая проблема… я не совсем понял как работают кишки LS но хук «topic_add_after» получается занят blogextender и он не срабатывает у меня. Соответственно новые посты без комментариев в Мои Вещи не попадают. Может быть знаешь что там надо настроить чтобы всё было чики-пики?
  • avatar clops
  • 0
Я попробовал — этот кейс работает.

Правда там другая проблема… я не совсем понял как работают кишки LS но хук «topic_add_after» получается занят blogextender и он не срабатывает у меня. Соответственно новые посты без комментариев в Мои Вещи не попадают.