Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Miniprogram Poster

Laravel Miniprogram Poster Laravel Package

ibrand/laravel-miniprogram-poster

ibrand/laravel-miniprogram-poster is a Laravel package for generating WeChat mini program sharing posters. It composes QR codes, images, and text into downloadable poster images through a simple, configurable API, streamlining referral and share-card workflows for PHP applications.

View on GitHub
Deep Wiki
Context7

Use Laravel to building a miniprogram poster.

Frequently asked questions about Laravel Miniprogram Poster
How do I install ibrand/laravel-miniprogram-poster in a Laravel app?
Install it with Composer via composer require ibrand/laravel-miniprogram-poster, then let Laravel package discovery register the service provider or add it manually to config/app.php along with the facade alias. Publish the package config and any bundled assets with php artisan vendor:publish so you can adjust fonts, paths, and template settings. Because the last tagged release is from February 2019, expect to edit the illuminate/* constraints in a fork before Composer will resolve it on a modern Laravel version.
Does ibrand/laravel-miniprogram-poster support Laravel 9, 10, or 11 and PHP 8?
Not out of the box. The last release dates to February 2019, which implies illuminate/* ~5.5 to ~5.7 constraints and PHP 7.x, so installation on Laravel 9, 10, or 11 requires a fork with edited composer.json constraints. You should also budget for small PHP 8 compatibility patches such as removed curly-brace string offsets or each(). Verify config-cache safety and published asset paths after patching, and treat any overtrue/wechat pin as part of that compatibility budget.
Does the package generate the WeChat mini program code itself or do I supply a pre-fetched image?
Poster generation for WeChat mini programs depends on the mini program code (小程序码) returned by wxacode.getUnlimited, which means a WeChat SDK and access_token management are involved, typically through a transitive dependency on overtrue/wechat or ibrand/laravel-wechat. Confirm during a spike whether the package calls the WeChat API directly or accepts a pre-fetched code image path, since that decides whether it can share an access_token cache with your existing WeChat client. Also check scene parameter handling, given the 32-character scene limit and code-generation quotas.
What server requirements does the package need for rendering posters?
You need the GD extension with FreeType support, or Imagick, plus a writable asset and temporary output path. A CJK font is required for Chinese text and is typically bundled as a large asset. Plan for a PHP memory limit of at least 256 to 512 MB on whichever process renders posters, and make sure WeChat appid and secret credentials are reachable from that process.
How are poster templates and layouts defined?
Layouts are defined through the package's publishable configuration and code rather than a database-backed template editor, so the composition of QR code, images, and text is largely fixed by your config. That is fine for a single share-card layout but means per-campaign or per-product layouts require additional config entries or custom code. Check how much of the canvas, coordinates, and typography you can override before committing to the approach.
Where does the generated poster get written, and what does the method return?
Output handling depends on the published config, so verify in the spike whether posters are written to a local disk path, object storage such as S3 or OSS, and whether the call returns a path, a URL, or raw binary. For deploys, make sure the target directory survives releases or is a mounted persistent volume. If you need CDN delivery, upload the returned image from your own application code rather than relying on the package.
Is poster generation synchronous, or can it run in a queue?
The package composes images in-process, so generation is synchronous unless you wrap it in your own queued job. For share-card workflows triggered by user actions, dispatch a job that calls your wrapper and store the resulting image path on the model. Keep an eye on worker memory ceilings and on WeChat access_token refresh behaviour when many jobs run concurrently.
Is the bundled CJK font safe to use in production?
The font assets are large and their provenance and licensing should be verified separately from the MIT-licensed code. The MIT license on the PHP source does not automatically cover a bundled typeface. Before shipping, confirm the font family, its license terms, and whether embedding or redistribution is permitted for your use case, or substitute a font you have licensed yourself.
Is the package maintained, and does it have tests?
There has been no release in roughly six years, there are zero dependents, and no observable test suite, so expect no issue triage and no downstream patches to inherit. The functionality itself is not exotic, which lowers the cost of an alternative if forking becomes burdensome. Add at least a smoke test that renders a poster and asserts the output dimensions and file type.
What are the alternatives if forking ibrand/laravel-miniprogram-poster becomes too costly?
The same capability can be built natively with maintained libraries such as intervention/image for composition and endroid/qr-code for the code image, or delegated to a hosted image-composition service. To keep that exit path open, do not import ibrand/* from domain code: define an application-owned PosterGenerator interface with a DTO carrying template id, user, product, scene, and output format, and wrap the package behind it. Callers then remain unchanged if you later replace the implementation.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager