Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Test, Run & Share Laravel Collection Examples!

License

NotificationsYou must be signed in to change notification settings

atymic/laravel-collection-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel's collections are awesome!
This project provides a "jsfiddle" style environment to test, run & share collection code.

It runs in the browser? 😲

The playground usespib to evaluate PHP code directly inside the browser.
When you load the playground, Vue downloads a compiled web assembly build of PHP. This is used by they playground tolocally eval your code as you type.

The disadvantages of this approach are the limited browser support - for it to work you need to be running a desktopversion of Chrome or Firefox that is recent. Safari & Edge aren't support at the moment.Seethis issue for more information.

It works without internet? 📴

The playground is built as a PWA, which provides several advantages.

  • Caching of downloaded PHP binary (no need to re-download the binary on each page load)
  • Support for using offline (since the code is eval'd locally, it will work without any internet)

Project Details

Folder Structure

  • api contains the lambda function that is used to save playground as github gists, so they can be saved & shared.
  • php-app contain a small PHP application that is used to evaluate the collection code, catch errors and return itback to the client as json.
  • php-src contains the scripts to build the in web assembly build, containing PHP + thephp-app code.
  • playground contains the Vue application which communicates with PHP to run your code, and display the results

Building

PHP

php php-app/create-phar.php php-src/app.phar# create the phar containing the PHP codecd php-src# Swtich to the pib dirdocker run --rm -v$(pwd):/src trzeci/emscripten:sdk-incoming-64bit bash build.sh# Build PHPcp php-7.3.6/php.wasm php-7.3.6/php.js php-7.3.6/php.data ../playground/public# Copy the compiled files into the playground

Playground

cd playgroundyarn# Install depsyarn serve# Developmentyarn build# Production build to `dist` folder

Contributing

PRs are welcome! Feel free to improve the documentation, fix bugs and help make the playground better!Issues are welcome as well if you find a bug or improvement.

Further Reading

TheLaravel Collections documentation.

Adam Wathan has a great course,Refactoring to Collectionswhich provides tons of content on refactoring your Laravel to take advantage of collections.

Credits

The in-browser PHP evaluation usesPHP in Browser by oraoto

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp