WEB-заметки и идеи для бизнеса
4 subscribers
5 photos
17 links
Заметки и идеи для бизнеса. Немного про Laravel, Vue, SEO и др.
Download Telegram
👉 Как в Laravel создать контроллер вместе с моделью и миграцией одной командой

Выполните следующую команду в терминале:
php artisan make:model YourModelName -mcr


YourModelName меняем на название нашей модели.

Опции -m, -c и -r обозначают:

-m — создать миграцию для модели
-c — создать контроллер
-r — создать контроллер с ресурсными методами

После этого Laravel создаст модели, контроллеры и миграцию в соответствующих директориях нашего проекта.
​​👉 Как деплоить проект - по шагам

При разработке собственного проекта, после внесения каких-либо изменений в нём возникает необходимость его деплоя. Это связано с тем, что изменения, которые были внесены, требуют актуализации кода на сервере, чтобы обеспечить их доступность для пользователей.
​​👉 Git в Visual Studio Code: пошаговый алгоритм по созданию и восстановлению версий проекта

Если вы когда-либо теряли важные изменения в своем проекте или сталкивались с необходимостью вернуться к предыдущей версии кода, вам знакомы все прелести головной боли, связанные с этим.

Ранее многим разработчикам приходилось вручную создавать копии своих проектов и управлять версиями, перезаливая папку с проектом на локальный сервер. Это было трудоемко и занимало много времени. Однако с появлением Git эта проблема решается в несколько простых шагов.

Git - это отличный инструмент, который позволяет отслеживать все изменения в проекте и легко возвращаться к любой его версии, не создавая копии напрямую.

К примеру: мы разрабатываем проект в Visual Studio Code и периодически нуждаемся в создании копий всего проекта. Также у нас возникает необходимость возвращаться к определенной версии проекта и продолжать работу с ней. Как можно реализовать эту задачу на локальной системе с помощью Git?
👉 Памятка Laravel + Vue 3 - от разработки до обновления на внешнем сервере/хостинге

Памятка по работе с проектом Laravel + InertiaJS + Vue 3 с Vite (синтаксис <script setup>) – основное от разработки до обновления на внешнем сервере (хостинге) с ручным деплоем:

➡️ npm run dev : работа с проектом (вносим изменения)

➡️ npm run build : компиляция в продакшен версию

➡️ добавляем изменения в git : git add .
!!! учитываем содержание файла .gitignore

➡️ коммитим: git commit -m "name changes"

➡️ заливаем изменения на GitHub: git push

➡️ подключаемся к серверу (хостингу) с локального терминала с помощью ssh-ключа (VS Code):
ssh -i ~/.ssh/id_rsa r****i@r****.***.***

➡️ обновляем проект на сервере (хостинге):
git pull origin master

➡️ если добавлялись/менялись пакеты зависимостей в проекте, то с помощью Composer на сервере вносим изменения: php composer.phar install

➡️ делаем обновление миграций: php artisan migrate:refresh
👉 Сегодня полдня промаялся, чтобы понять, что при компилировании VUE приложения для встраивания его в плагин WordPress необходимо подключаемому на продакшене js скрипту обязательно добавлять атрибут type="module" таким образом (в основном файле плагина).

Изнасиловал СhatGpt, но в итоге поисковик помог 😆

До этого постоянно в консоли был такой сюрприз.

С итоге подключаемый скрипт Vue должен иметь какой вид:
<script type="module" src="https://wc1.net/wp-content/plugins/my-custom-table-plugin/dist/assets/main-Cp7g2Mzb.js" id="my-vue-app-js"></script>

Банально, но, тем не менее нюанс.
​​👉 Создание плагина для WordPress: Vue 3 и Ant Design для динамического отображения данных

Для понимания процесса разработки плагина на популярном движке WordPress совместно с JS фреймворком Vue 3 (composition api синтаксис script setup) рассмотрим простой пример, где реализуем серверный вывод данных из базы данных MySQL на клиент в таблицу Ant Design (популярной системы разработки пользовательских интерфейсов).

Так же предусмотрим асинхронный серверный функционал для поиска, сортировки и пагинации данных таблицы.

Подробно рассмотрим по шагам весь процесс решения данной задачи.
👉 Принцип работы add_action и do_action в WordPress - на простом

Одно время, когда на WordPress (WP) пытался реализовать что-то своё, поначалу были некоторые непонятки с add_action и do_action в контексте кодирования на WP.

Понимание сущности двух ключевых функций - add_action и do_action - является фундаментальным для разработки проектов на WP, поскольку именно они составляют основу архитектуры написания и вывода кода на этой платформе.

Мощная система хуков, позволяющая разработчикам добавлять и изменять функциональность без редактирования основного кода. Именно эти две ключевые функции в этой системе и решают эти задачи.
👉 Ошибка при миграции в Laravel: очередность выполнения миграций при работе с внешними ключами и таблицами

Порой возникают ситуации в Laravel при создании отдельных таблиц БД, когда порядок миграций влияет на успешное выполнение операций по их развёртыванию.

Например, ситуация

Вы делаете проект на Laravel, и возникла необходимость добавить в базу данных новую таблицу (unit_orders - в качестве примера), которая будет связана своим первичным ключом с таблицей (employers - в качестве примера), ранее созданной.

Перед добавлением новой таблицы (путём миграции) откатываем все существующие миграции до исходного состояния командой

php artisan migrate:rollback


Далее создаем новую миграцию для нашей новой таблицы с помощью команды

php artisan make:model UnitOrder -mcr


В итоге создается необходимый нам «букет» - контроллер, модель и миграция. Но созданная миграция оказывается внизу.

В папке migrations файлы миграций будут расположены в хронологическом порядке от дат (временных меток) их создания.

Если сейчас накатить все миграции для нашего проекта, то мы получим ошибку следующего типа:

«Уже созданная таблица не может добавить внешний ключ той таблицы, которая ещё не существует»

Подробнее
👉 Кастомизация на Tailwind CSS: Простой совет по стилизации элементов

Порой сложно сразу перейти на стилизацию своего проекта с использованием Tailwind CSS, когда до этого ты всё время стилизовал элементы страницы с помощью стандартного CSS.

В Tailwind CSS, начиная с версии 2.1, можно использовать классы с динамическими значениями, например, с помощью конструкции [ ] . Это позволяет задавать цвета, фоны и размеры с использованием произвольных значений прямо в классе. Это особенно полезно, когда вы хотите использовать кастомные цвета без необходимости изменять конфигурацию Tailwind.

Подробнее на простом примере здесь.
👉 Асинхронные запросы в Laravel с Inertia.js и Vue 3 - как лучше

Практически вся разработка приложения на Laravel с использованием Inertia.js и Vue 3 основывается на асинхронных запросах. Этот подход обеспечивает современное взаимодействие пользователей с приложением и позволяет избежать перезагрузок страницы.

Принцип работы асинхронных запросов можно описать следующим образом:

Событие - Пользователь инициирует взаимодействие (например, нажимает кнопку или заполняет форму).
Вызов функции запроса - В ответ на событие вызывается функция, отправляющая асинхронный запрос на сервер.
Обращение в контроллер - Запрос обрабатывается на сервере в контроллере Laravel.
Возврат ответа на клиент - Сервер возвращает данные, которые отображаются на клиенте без перезагрузки страницы.

Когда речь идет о реализации такого взаимодействия, разработчики часто сталкиваются с выбором между встроенным функционалом Inertia.js, библиотекой axios и API fetch.

Лично мне как-то ближе по душе axios )

Рассмотрим кратко каждый из этих подходов.
👉 Продвижение молодого сайта-статейника за счёт сгенерированного контента ИИ несёт в себе нулевой SEO-эффект. 100% факт из практики.

Для коммерческих проектов, типа интернет-магазинов и всего остального, что связано с заработком денег, вообще сейчас никакой целесообразности нет в напихивании в них даже тематических статей, тем более от нейронки.

Для поисковиков, алгоритмы которых сейчас построены на том же ИИ, главным и первостепенным фактором в поисковой выдаче по органическим запросам являются реальная полезность ресурса (ключевые отличия от того, что уже есть на рынке) и актуальный рейтинг с настоящими отзывами по продвигаемой компании (организации).

☝️Поэтому, отдавая кому-либо на поруки своё начинание, особенно в высококонкурентной среде, имейте в виду этот факт - что реально добиться желаемого SEO-результата простым копипастом и генерацией статей через ИИ уже не получится.
👉 Иногда, когда замечаешь, что GPT рекомендует кому-то ссылки на твой сайт, это порой даже вдохновляет не забрасывать всё это дело )
👉 Интеграция Telegram-бота с использованием искусственного интеллекта на PHP

В наше время, когда цифровые помощники и автоматизация стали частью повседневной жизни, Telegram-боты помогают значительно упростить взаимодействие с клиентами и пользовательский опыт в целом.

С использованием OpenAI можно создать не просто стандартного бота, а настоящего интеллектуального ассистента, который понимает контекст запросов и может давать осмысленные ответы. Это руководство поможет вам разобраться, как шаг за шагом подключить искусственный интеллект к вашему боту, чтобы сделать его удобным, умным и современным инструментом для любых задач.

Простое для понимание руководство по разработке Telegram-бота с использованием PHP и подключением OpenAI API для интеллектуальных ответов.
👉 Раньше, чтобы написать такую штуку, как
$link = preg_replace('/[^A-Za-z0-9]/', '', $link);

или ей подобную, надо было разбираться с регулярками, что было не так уж и просто.

Теперь с помощью ИИ такие задачи решаются за пару секунд.
Это говорит о том, что в голове нужно держать только нужную информацию, для решения своей основной задачи, а не забивать ее лишними вещами, которые легко решаются с помощью ИИ.
👉 На сколько прекрасен Cursor с AI

Ещё в далеком 2010 году моим любимым редактором кода был PHPDesigner, и я даже не мог представить альтернативу. Со временем перешёл на VS Code. В то время было непросто для меня перепрыгивать на что-то новое ) Но когда я начал работать с VS Code, ощутил на все 100% все преимущества этого редактора. Он просто потрясающий !

Теперь я влез в Cursor с ИИ, и это просто ОГОНЬ! Этот «умный» помощник сильно упрощает разработку.

Кажется, достаточно иметь классную идею и правильно сформулированный промпт - а всё остальное он сделает на все 100%! Конечно же, с непосредственным участием самого разработчика, потому что за процессом в любом случае нужно следить и корректировать!

Что поражает, так это то, что AI может вносить изменения во все файлы проекта, понимая его логику и код.

Технологии действительно шагнули вперёд!
👉 В Cursor добавлена новая модель GPT-5

Это самая интеллектуальная модель из всех, которые мы тестировали, по заявлению самого Cursor. Установка агента GPT-5 предусмотрена для многих IDE.
👉 Сейчас усиленно пилю свой проект Кадровик на Laravel+Vue по ТЗ, слепленному на лету. Тема очень актуальная. Приоритет — простота использования, ничего лишнего в интерфейсе, основное для решения задач участников – Нанимателя, HR-агентства и Соискателя.

Каждый день рождаются новые идеи, и приходится что-то менять и дорабатывать.
На фоне немалой конкуренции начинаю понимать, что неплохим конкурентным преимуществом будет внедрение ИИ на стороне Нанимателя для решения немаловажной задачи для него по анализу и отбору оптимальных кандидатов из перечня представленных претендентов от HR и самих соискателей.

Т.е., если на простом, задача ИИ-агента будет заключаться в следующем - в карточке одной из своих вакансий при нажатии Нанимателем кнопки "выбрать лучших из представленных", ИИ-модель проанализирует все резюме (PDF-файлы кандидатов) и представит лучшие с учетом требований работодателя по данной вакансии.
👉 Сегодня реализовал очереди с драйвером хранилища Redis в своём проекте на Laravel. До этого как-то не приходилось с ними работать.

После того как GPT-5 внёс изменения в код, даю ему промпт следующего содержания для написания памятки(инструкции) по данному вопросу:

Опиши подробно, простыми словами, - как работает очередь в данном коде с отправкой телеграм-уведомлений при активации вакансии. Начни с того, в каком компоненте какая кнопка за это отвечает, куда дальше идет путь выполнения, на какой контроллер, сервис, фронтенд и т.д. и т.п. Подробно и понятно.
И вот что мне этот красавчик выдал - https://kadrovik-pro.ru/telegram-instruction.
Даже роут отдельный подогнал под неё и во views шаблон запаковал.

Просто 🔥. А инструкцию надо делать обязательно для понимания той логики, которую он вносит относительно уже имеющегося кода.

Не представляю, как сейчас можно работать без этой IDE Cursor.
👉 Делаю сейчас лёгковесный и простой движок интернет-магазина с помощью Cursor AI.

Думаю, многим ИП и самозанятым, ремесленникам, из имеющиеся тяжеловесных решений — например, магазины на WordPress, OpenCart и т.п. — не так просты как в освоении, так и в администрировании.

Важно иметь лёгкий движок с самым необходимым функционалом: фильтры, валюты, модификации товаров, и при этом — простой в администрировании и с удобным UX для покупателей. И самое важное для них — отсутствие постоянного «доения» на поддержку всего этого дела.

Вот так и родилась идея реализации определённого оптимума на Laravel + Vue для широкой аудитории создателей в товарном бизнесе.

Когда доделаю — обязательно поделюсь готовым решением.