Download the PHP package ambengers/eloquent-word without Composer
On this page you can find all versions of the php package ambengers/eloquent-word. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ambengers/eloquent-word
More information about ambengers/eloquent-word
Files in ambengers/eloquent-word
Package eloquent-word
Short Description Laravel package for creating Word documents with Eloquent ORM dependencies.
License MIT
Homepage https://github.com/ambengers/eloquent-word
Informations about the package eloquent-word
Laravel Eloquent Word
This package provides an elegant way to generate Word documents with Eloquent Models. Uses PHPOffice/PHPWord package to generate Word documents and Laravel Medialibrary to associate Word documents as eloquent model media.
Spatie Media Library Version Compatibility
Version | Medialibrary |
---|---|
v1.* | ~ 7.20 |
v2.* | ^ 8.0 |
v3.* | ^ 9.0 |
v4.* | ^ 10.0 |
v5.* | ^ 10.0 |
Installation
Via Composer
Optionally, you can publish the config file by running the following command.
Usage
Eloquent Word class
You can generate your Eloquent Word class using the command
Optionally, you can pass a --view
option to also generate a view template file.
By default, the class will be located at App\Word
namespace. You can customize this in the config file.
Your Eloquent Word class will contain 2 methods:
getData()
provides the data to be used on the viewgetView()
the name of the view file as word template
View Template
Unlike PDF templates that uses html, Word templates are created using php scripts. So in your view template file, you can utilize the @php
blade tags like so...
Within your view template, you automatically have access to $word
variable which will give you an instance of PhpOffice\PhpWord\PhpWord
class. This will allow you to get started formatting your Word document.
You can learn more by visiting the PHPWord official documentation.
You can now use the Eloquent Word class from your controller (or anywhere in your application).
Downloading Word
Eloquent Word with Medialibrary
This package also offers an elegant way to associate Word document to the Eloquent Model using Medialibrary package. To do that, you will need to use a trait on your Eloquent Word class.
Then on your controller, much like how you would do with medialibrary, just provide the collection name in which the Word document will be associated with.
For additional convenience you can also chain other medialibrary methods.
Behind the scenes, Eloquent Word will forward these method calls to the medialibrary FileAdder::class
so you can further take advantage of its features.
Customizations
If you need to customize the default filename or extension, you can chain some setter methods when you call your Eloquent Word class.
Security
If you discover any security related issues, please send the author an email instead of using the issue tracker.
License
Please see the license file for more information.
All versions of eloquent-word with dependencies
illuminate/support Version ^9|^10
phpoffice/phpword Version ^0.18.0
spatie/laravel-medialibrary Version ^10.0