Pyae Sone Aung Blog
website·Indexed 31 days ago
https://pyaesoneaung.devA professional web developer's blog featuring tutorials and guides on Laravel, PHP package development, and modern web tools. Topics include Filament CMS, Laravel Zero, Laravel Envoy, Tailwind CSS JIT mode, and building AI agents with Neuron AI.
What's inside Pyae Sone Aung
- Neuron AI is a comprehensive Composer package for building AI Agents in PHP. It provides built-in support for Retrieval-Augmented Generation (RAG) and Model Context Protocol (MCP) integrations.
Overview of Filament TALLkit
Filament is a TALL stack (Tailwind CSS, Alpine.js, Laravel, Livewire) toolkit used to build powerful admin panels. It provides a comprehensive Form Builder and Table Builder, allowing developers to create modern, aesthetically pleasing administrative interfaces quickly. By leveraging Filament, developers can reduce the time spent on UI boilerplate and focus more on implementing core business logic.Use Laravel Myanmar Tools for Myanmar-specific Laravel extensions
Laravel Myanmar Tools is a package designed to extend Laravel's core functionality with tools specifically for Myanmar.GitHub: https://github.com/PyaeSoneAungRgn/laravel-myanmar-tools Documentation: https://www.laravel-myanmar-tools.com
Normalize Myanmar Text in VS Code
The Myanmar Text Normalization extension for VS Code provides tools to normalize Myanmar text directly within the editor.Run Laravel Filament Artisan CLI in Sublime Text
The Laravel Filament for Sublime Text package enables running the Laravel Filament Artisan CLI directly within the Sublime Text interface, removing the need for an external terminal.Package Control: https://packagecontrol.io/packages/Laravel%20FilamentRun Laravel Pint in Sublime Text
The Laravel Pint for Sublime Text package allows developers to run Laravel Pint (PHP linting/styling) directly within the Sublime Text interface.Scale Laravel architecture for high request volume
To handle high traffic (e.g., 2,000 requests per second), implement a load balancing architecture where a Load Balancer distributes incoming traffic across multiple small web servers. To ensure data consistency across these web servers, use centralized MySQL and Redis instances. For real-time features requiring high connection counts (e.g., 51K connections), implement a dedicated Socket server.Send Laravel error notifications to Slack with Snippet Error Noti
Snippet Error Noti allows developers to send Laravel error notifications to Slack featuring a clean UI and included code snippets for faster debugging.Integrate Sportmonks Football API (V3) in Laravel
Use the Sportmonks Football Api package to integrate Sportmonks Football API (V3) into a Laravel application.Modernize PHP code with SHIFT Workbench automation tasks
SHIFT Workbench provides over 60 automation tasks to modernize Laravel and PHP codebases. It can be used to automatically refactor legacy syntax into modern PHP versions, sort CSS classes, and handle project upgrades.Initialize a PHP package project with Composer
To start a new PHP package, use
composer initto create the project structure andcomposer.jsonfile. Key configuration settings include:- Package Name: Use the format
<vendor>/<name>(e.g.,pyaesoneaung/quiz-api-client). - Package Type: Set to
libraryfor reusable packages. - Minimum Stability: Set to
devif you need to allow development versions of dependencies. - Autoloading: Use PSR-4 mapping to link a namespace (e.g.,
PyaeSoneAung\QuizApiClient\) to thesrc/directory.
mkdir quiz-api-client cd quiz-api-client composer init- Package Name: Use the format
Configure Laravel version requirements and dev dependencies
Define the minimum supported Laravel versions using
illuminate/contracts. For testing, useorchestra/testbench, which provides the necessary Laravel core classes (ServiceProviders, Facades) for development and IDE auto-completion.orchestra/testbench^9.0 is for Laravel 10.orchestra/testbench^10.0 is for Laravel 11.
"require": { "illuminate/contracts": "^10.0|^11.0", "pyaesoneaung/quiz-api-client": "^1.0" }, "require-dev": { "orchestra/testbench": "^9.0|^10.0" }