За последние 24 часа нас посетили 20766 программистов и 1651 робот. Сейчас ищут 2099 программистов ...

Какой фреймворк использовать?

Тема в разделе "PHP для новичков", создана пользователем bimply, 1 ноя 2024.

  1. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Получили заказ на проект, вкратце опишу

    1. Есть некоторые организации
    2. У организации есть книга со списком закрытой базы данных людей
    3. В книге есть единичная запись. Имя фамилия возраст и другие данные о человеке
    • Оператор сканирует бумажные списки и переводит эти списки в excel таблицу
    • Оператор имеет возможность редактировать единичную запись если криво распознало рукописный текст
    • Оператор имеет возможность вгружать excel списки и просматривать загруженное
    Я думаю использовать yii2, но возможно есть более прогрессивное решение
     
  2. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    922
    Симпатии:
    143
    Если у тебя ТЗ в таком виде, я бы нах послал, а так юзай то, в котором фрэймвёке лучше рубишь )
     
  3. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Корпоративная этика, заказчик не будет в восторге если проект будет обсуждаться, тем более речь о закрытой базе данных
    Хотят обычный grid который можно редактировать и подгружать данные из экселя
    Авторизацию тоже хотят
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.860
    Симпатии:
    750
    Адрес:
    Татарстан
    вообще фиолетово на чем делать ... хоть на чистом php
    ... делают на том - в чем есть опыт и какие-то наработки...
    я бы на Laravel делал
     
  5. Дюран

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    291
    Симпатии:
    21
    Функционал совсем же минималистичный.
    Проект не нагруженный.
    Можно делать на чем угодно, хоть на yii2, хоть лара.
    Знаешь yii2, то и на нем, работает он же норм, хоть и подустарел, и не в моде уже.
    Чтоб критики не получать в плане, чего на старом фрейме новый проект стартуешь, то лара
     
  6. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    448
    Симпатии:
    87
    Адрес:
    Бавария, Германия
    Добрый день!
    Мне довелось делать нечто похожее для оформления въездных виз.
    Самое интересно е в этой задаче - технология ввода (сканировая данных).
    Мы применяля специальный скенер для паспортов.
    После uploda отсканированных данных, они сохранялись в базе данных.
    Если требовалось офомить визу, данные одного или нескольких человек выбирались из БД и
    вводидились необходимые данные - даты, куда, зачем и.т.п.
    Данные сохранялись в БД и затем визовая анкета рвспечатывалась в PDF-формате.
    Всё это было самописное.
    Удачи!
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.588
    Симпатии:
    1.762
    yii2 устарел морально, ИМХО. Лучше Laravel
     
    artoodetoo нравится это.
  8. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Остановился на Yii2

    Создал стандартный проект, многое штатными средствами CRUD gii
    Проблема с постраничной навигацией GridView

    Нет никакого CSS оформления, хотя bootstrap подключен, выглядит как числа, идущие подряд без CSS

    вот так без отступов и тд:
    12345678910
     
  9. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.860
    Симпатии:
    750
    Адрес:
    Татарстан
    значит не подключен все-же css
     
  10. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Стандартному gridview нужен какой то свой CSS, который штатными средствами фреймворка не подтягивается(сам грид смотрится нормально)?
     
  11. Дюран

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    291
    Симпатии:
    21
    В главном конфиге:

    Код (Text):
    1.     'container' => [
    2.         'definitions' => [
    3.             \yii\widgets\LinkPager::class => \yii\bootstrap5\LinkPager::class,
    4.         ],
    5.     ],
     
  12. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    спасибо, помогло
     
  13. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Код (Text):
    1.     <?=
    2.     DetailView::widget([
    3.         'model' => $model,
    4.         'attributes' => [
    5.             'id',
    6.             'username',
    7.             'password',
    8.             'firstname',
    9.             'lastname',
    10.             [
    11.                 'label' => 'Роль',
    12.                 'value' => function ($model) {
    13.                     return User::roleList()[$model->role];
    14.                 }
    15.             ],
    16.             [
    17.                 'label' => 'Книга',
    18.                 'attribute' => 'html',
    19.                 'value' => function ($model) {
    20.                     if (!$model->book)
    21.                         return false;
    22.                     $result = $model->book->name;
    23.                     $result .= "<a href='/' class='btn btn-danger'>снять книгу</a>";
    24.                     return $result;
    25.                 }
    26.             ],
    27.         ],
    28.     ])
    29.     ?>
    $result .= "<a href='/' class='btn btn-danger'>снять книгу</a>"; Выводится не как html, как быть?
     
  14. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Так и не понял как сделать, переместил кнопку в другое место

    Код (Text):
    1. CREATE TABLE `user` (
    2.   `id` int(11) NOT NULL,
    3.   `company_id` int(11) DEFAULT NULL,
    4.   `book_id` int(11) DEFAULT NULL,
    5.   `username` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
    6.   `password` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
    7.   `firstname` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
    8.   `lastname` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
    9.   `role` int(11) NOT NULL DEFAULT 1
    10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
    Мой говнокод

    PHP:
    1.                 $user = \app\models\User::findIdentity(Yii::$app->user->id);
    2.                 if ($user->role == 1) {
    Еще говнокода

    PHP:
    1.     public function beforeAction($action) {
    2.         if (!Yii::$app->user->isGuest) {
    3.             $user = \app\models\User::findIdentity(Yii::$app->user->id);
    4.             if ($user->role == 2) {
    5.                 $this->redirect(['/operator']);
    6.             }
    7.         }
    8.         return parent::beforeAction($action);
    9.     }
     
    #14 bimply, 15 дек 2024
    Последнее редактирование: 15 дек 2024
  15. Дюран

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    291
    Симпатии:
    21
    ключ 'format' надо было задать. 'raw' или 'html'
    --- Добавлено ---
    Так не надо писать

    В доках
    Код (Text):
    1. $identity = Yii::$app->user->identity;
     
  16. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    Искусственный интеллект когда распознает записи(jpeg) зачастую косячит:
    • Фамилия Мванов вместо Иванов
    • Район Кровский, вместо Кировский
    • Возраст 1000 лет
    • Очепятки в очевидных словах
    Понятно что chatgpt последней версии справится с единичной записью, но таких записей дофига и маленькая тележка
    Упирается в стоимость исправления единичной записи, сейчас исправляет человек.
    Также нужно API, возможно кто то с подобными вопросами сталкивался....

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

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    291
    Симпатии:
    21
    Если подгрузить какой то словарь, то по алгоритмам серии "Расстояние Левенштейна" можно было бы что то вычислять.
    Видел в эластике они с этим танцуют, для нечеткого поиска. Еще с ngram-ами всякими
     
  18. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    449
    Симпатии:
    13
    прикольно, не знал что штатными средствами php можно в % сравнивать схожесть строк