Ищу доброго бесплатного не самого продвинутого PHP кодера на 1-2 сессии для изучения и обратной связи по движку собственного производства

Reuniko

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

В данный период жизни нахожусь в поиске другого PHP-программиста, не обязательно профи, можно совсем зеленого новичка, который был бы готов альтруистично потратить пару сессий (по 2-4 часа) своего времени на попытку изучения моего движка в прямом контакте со мной, с диалогом и обратной связью во всех местах где что-то не ясно, не понятно. Это бы мне очень помогло подкрутить документацию ближе к идеалу, а тебе, возможно, дало бы простой-но-функциональный движок (да, 1001й движок из 1000 существующих лол).

В качестве небольшой рекламы немного крайне субъективных тезисов почему мой движок лучше всех остальных:
- он всё время разрабатывался одним и тем же человеком с одним и тем же подходом, в результате шизофрения в нем сведена к нулю,
- практически все его части (классы) являются не обязательными к использованию, что как бы выводит его из категории фреймворков в категорию библиотек,
- все классы (включая тот основной который "обязательный") можно расширять+дополнять+переопределять как тебе будет угодно путем простого наследования,

Мой дискорд: Reuniko#6381
Дискорд сервера BlackFox: https://discord.gg/5K6gH6RAfq

Спасибо за внимание <3
 
Последнее редактирование:

Adelf

Administrator
Команда форума
он всё время разрабатывался одним и тем же человеком с одним и тем же подходом, в результате шизофрения доведена до максимума :)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Твой движок с дефолтными настройками по short_open_tag не взлетит нигде, где это менять нельзя. PSR? Composer? Migrations? Seeds?
 

Reuniko

Новичок
Выйдет PHP8, перепилю все тэги на длинные.
PSR нет и не планируется.
Composer возможно добавится, пока что его нет, кому очень надо может форкнуть и создать 1 файлик в корне.
Вместо миграций — автосинхронизация.
Seeds даже не знаю что такое.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ну тогда давай, до свидания. =D
 

AmdY

Пью пиво
Команда форума
Код может быть и сгодился для лет 20 назад, но сейчас ВСЁ очень плохо. Почитай Фаулера.
Объяснять всё надо несколько месяцев, да и ты не поверишь критикам. Но попробуй на нем реализовать задачи чуть сложнее прямого CRUD, при этом не меняя код самого движка.
1. Разреши группе "авторы" видеть только свои записи.
2. На форме должны быть связанные списки, первый марка автомобиля, второй модель. При переключении марки список моделей меняется. При этом у пользователя должна быть возможность вручную добавить новую модель, если её нет в списке.
 

Reuniko

Новичок
1. Разреши группе "авторы" видеть только свои записи.
PHP:
<?php
namespace Example;
class Records extends \BlackFox\SCRUD {
    public $fields = [
        'ID'      => self::ID,
        'AUTHOR'  => [
            'TYPE'     => 'OUTER',
            'NAME'     => 'Автор',
            'NOT_NULL' => true,
            'LINK'     => 'BlackFox\Users',
        ],
        'CONTENT' => [
            'TYPE'     => 'TEXT',
            'NAME'     => 'Контент',
            'NOT_NULL' => true,
        ],
    ];

    public function Select($params = []) {
        $params['FILTER'] = $this->GetAdditionalFilters() + $params['FILTER'];
        return parent::Select($params);
    }

    private function GetAdditionalFilters() {
        if (\BlackFox\User::I()->InGroup('root'))
            return [];
        if (\BlackFox\User::I()->InGroup('authors'))
            return ['AUTHOR' => \BlackFox\User::I()->ID];
        // throw new \BlackFox\ExceptionAccessDenied(""); // тут можно кинуть если нужно всем остальным вообще запретить доступ
        return [];
    }
}
При желании\необходимости \BlackFox\User::I() можно заменить на $this->USER, создав его в конструкторе из дополнительного параметра. В большинстве проектов это не требуется.


2. На форме должны быть связанные списки, первый марка автомобиля, второй модель. При переключении марки список моделей меняется. При этом у пользователя должна быть возможность вручную добавить новую модель, если её нет в списке.
Что то типа такого?

Это конечно здорово что существуют такие классные и вкусные ормки, типа Доктрины, но Блэкфоксовый Скруд разрабатывался с иной целью:
- покрыть 90% вхождений в бд
- сделав их максимально интуитивно понятными и удобными
остальные 10% (в основном статистические сложные выборки с группировками) делаются по старинке на чистом SQL,
поэтому сравнивать Блэкфоксовый Скруд с другими библиотеками не совсем корректно, они находятся как бы в разных весовых категориях,
 
Последнее редактирование:
  • Like
Реакции: AmdY

флоппик

promotor fidei
Команда форума
Партнер клуба
Да всем похер на твой жалкий говнокод, просто пионеры пытались быть вежливыми, а ты наркоман.
 

AmdY

Пью пиво
Команда форума
PHP:
<?php
namespace Example;
class Records extends \BlackFox\SCRUD {
    public $fields = [
        'ID'      => self::ID,
        'AUTHOR'  => [
            'TYPE'     => 'OUTER',
            'NAME'     => 'Автор',
            'NOT_NULL' => true,
            'LINK'     => 'BlackFox\Users',
        ],
        'CONTENT' => [
            'TYPE'     => 'TEXT',
            'NAME'     => 'Контент',
            'NOT_NULL' => true,
        ],
    ];

    public function Select($params = []) {
        $params['FILTER'] = $this->GetAdditionalFilters() + $params['FILTER'];
        return parent::Select($params);
    }

    private function GetAdditionalFilters() {
        if (\BlackFox\User::I()->InGroup('root'))
            return [];
        if (\BlackFox\User::I()->InGroup('authors'))
            return ['AUTHOR' => \BlackFox\User::I()->ID];
        // throw new \BlackFox\ExceptionAccessDenied(""); // тут можно кинуть если нужно всем остальным вообще запретить доступ
        return [];
    }
}
При желании\необходимости \BlackFox\User::I() можно заменить на $this->USER, создав его в конструкторе из дополнительного параметра. В большинстве проектов это не требуется.



Что то типа такого?

Это конечно здорово что существуют такие классные и вкусные ормки, типа Доктрины, но Блэкфоксовый Скруд разрабатывался с иной целью:
- покрыть 90% вхождений в бд
- сделав их максимально интуитивно понятными и удобными
остальные 10% (в основном статистические сложные выборки с группировками) делаются по старинке на чистом SQL,
поэтому сравнивать Блэкфоксовый Скруд с другими библиотеками не совсем корректно, они находятся как бы в разных весовых категориях,
Первое ок.
А со вторым интересно было бы увидеть код, плюс было ещё условия добавления вручную.
 

WMix

герр M:)ller
Партнер клуба
@Reuniko может и есть в твоем проекте куча клевых идей, но подача не очень. то что без composer'а, не удобно - заставляет делать кучу ненужных шагов, без тестов - заставляет читать все. мне просто лень.

если хочешь продвигать open source, то играй по правилам.
 
Сверху