За последние 24 часа нас посетили 17324 программиста и 1650 роботов. Сейчас ищут 968 программистов ...

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

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

  1. bimply

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

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

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

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

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

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

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

    ADSoft Старожил

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

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

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

    Vladimir Kheifets Новичок

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

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

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

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

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

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

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

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

    ADSoft Старожил

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

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

    С нами с:
    13 авг 2012
    Сообщения:
    462
    Симпатии:
    18
    Стандартному 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
    Сообщения:
    462
    Симпатии:
    18
    спасибо, помогло
     
  13. bimply

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

    С нами с:
    13 авг 2012
    Сообщения:
    462
    Симпатии:
    18
    Код (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
    Сообщения:
    462
    Симпатии:
    18
    Так и не понял как сделать, переместил кнопку в другое место

    Код (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
    Сообщения:
    462
    Симпатии:
    18
    Искусственный интеллект когда распознает записи(jpeg) зачастую косячит:
    • Фамилия Мванов вместо Иванов
    • Район Кровский, вместо Кировский
    • Возраст 1000 лет
    • Очепятки в очевидных словах
    Понятно что chatgpt последней версии справится с единичной записью, но таких записей дофига и маленькая тележка
    Упирается в стоимость исправления единичной записи, сейчас исправляет человек.
    Также нужно API, возможно кто то с подобными вопросами сталкивался....

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

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

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

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

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

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

    С нами с:
    13 авг 2012
    Сообщения:
    462
    Симпатии:
    18
    На данный момент проект в рабочем состоянии на фреймворке yii2

    Иногда бывает так что физически отсканированная картинка не соответствует картинке из таблицы записей
    Хотелось бы что то типа
    1. Кнопка открывает проводник файлов во всплывающем окне
    2. В этом проводнике можно шариться по директориям иногда с большим уровнем вложенности
    3. Нельзя выходить выше определенного уровня папок
    4. Можно выбрать файл jpeg и нажать ОК, файлы других типов выбирать нельзя
    5. После выбора указанный файл появляется в input text формы редактирования