Cheap products tagged with: #app

...
IP camera approx! APPIP03HDP2P HD IR P2P micro SD Wifi White
26.77 €
...
Disposable nappies Dodot Sensitive 2-5 Kg Size 1 80 Units
21.17 €
...
Disposable nappies Dodot Sensitive Size 2 4-8 kg 88 Units
19.83 €
...
Disposable nappies Dodot Activity 6-10 kg Size 3 66 Units
18.74 €
...
Disposable nappies Dodot Activity Size 4 9-14 kg 58 Units
18.74 €
...
Disposable nappies Dodot Activity Size 5 52 Units 11-16 kg
19.40 €
...
Disposable nappies Dodot Activity 17-28 kg Size 6 46 Units
18.74 €
...
Nappies Etapas T2 Dodot 4-8 kg
13.45 €

Articles tagged with: #app

This are all of our top articles tagged with #app to help you find what you are looking for.

Encrypt and Decrypt Eloquent Model Fields in Laravel Apps

Here's an example of a model from the readme's setup instructions that illustrates what a model looks like using Ciphersweet: 1 use Spatie\LaravelCipherSweet\Contracts\CipherSweetEncrypted ; 2 use Spatie\LaravelCipherSweet\Concerns\UsesCipherSweet ; 3 use ParagonIE\CipherSweet\EncryptedRow ; 4 use Illuminate\Database\Eloquent\Model ; 5 6 class User extends Model implements CipherSweetEncrypted 7 { 8 use UsesCipherSweet ; 9 10 public static function configureCipherSweet ( EncryptedRow $encryptedRow) : void 11 { 12 $encryptedRow 13 -> addField ( 'email' ) 14 -> addBlindIndex ( 'email' , new BlindIndex ( 'email_index' )); 15 } 16 } This allows you the encrypt a user's email to keep it safe from unauthorized people reading the data, but give you the ability to decrypt the data to display it or work with it. Once you have configured this package and set up a model, you can search encrypted data in the database using blind indexes: 1 $user = User :: whereBlind ( 'email' , 'email_index' , '[email protected]' ); This package also aids in generating encrypting keys and encrypting model attributes to speed up integration with Ciphersweet.The package's readme explains the problem Ciphersweet can help solve as follows: In your project, you might store sensitive personal data in your database. I want to point out that you should not use this package blindly without understanding the ins and outs of the use case you are trying to solve. This package is a wrapper for Ciphersweet to integrate its features into Laravel models easily. CipherSweet also has PHP-specific documentation to help get you up to speed with the underlying PHP package.

Using Scout APM to Monitor a Laravel Application

The next thing to do is to add the low-overhead monitoring agent to your project’s dependencies, this can be done with a single command in your shell: 1 composer require scoutapp/scout-apm-laravel This command will install two packages: scout-apm-laravel and scout-apm-php. The main overview page The first page that you are presented with when you log into Scout is the overview page (shown below) which gives you a clear, clutter-free, snapshot of the health and performance of your application in one quick glance.To do that, open up your project’s .env file in your favourite text editor and add the following three lines to the end of the file: 1 SCOUT_MONITOR=true 2 SCOUT_KEY=”enter your Agent Key here” 3 SCOUT_NAME=”enter the name of you application here” You can find your account’s Agent Key on the settings page of Scout. Alerting Like all good monitoring solutions, Scout provides you with a sophisticated alerting system which can be configured to send certain people alerts when endpoint response times or memory usage metrics go over a certain threshold. Beyond the basics Now that we’ve covered the basics of Scout and shown you the main areas of the system that you would typically use day in, day out, let’s now switch our attention to some of the more advanced features which put Scout ahead of the crowd in the APM space. Endpoints and Traces Scout primarily provides application performance metrics at two levels. Insights tabs A great place to start if you are trying out Scout for the first time are the insights tabs. Deploy tracking Did this performance issue that you are seeing suddenly start happening after the last deploy? Custom Context and Trace Explorer Why does this performance issue only happen at 2:00AM on Tuesday night from a Brazlian IP address? Setup To get started monitoring your Laravel applications you will first of all need a Scout account. Error Monitoring Whether you are using Sentry, Honeybadger, Bugsnag, or Rollbar for your error monitoring, then we have you covered! If you take a look at the screenshot below, you can clearly see that on the 3 occasions that this ForgetPasswordController endpoint was accessed 78% of the 2,371ms mean request time was spent in the controller layer indicating that would be the first place to investigate if we wanted to try to improve this sluggish endpoint. So you’ve created a Scout account, hooked up the monitoring agent, but where do you start with diagnosing your application’s performance issues? Custom Instrumentation Are you using libraries outside of Laravel that we don’t currently instrument? These pages are where you will spend most of your time in Scout, and they give you the sort of visibility that is essential when trying to understand your performance issues.Scout APM is a Laravel application performance monitoring tool that ties performance anomalies directly to endpoints, saving developers hours of time spent on troubleshooting and debugging. Scout recently expanded its service offerings to include microservices and managed service monitoring for PHP applications, giving you more cohesive and actionable observability metrics. The trace explorer’s multi-filter charts (shown above) allow you to examine endpoints that match criteria that you have defined, and then you can see all the traces that match these filters in the Transaction Traces part of the screen. The chart is highly configurable, allowing you to change the time period and toggle which metrics you want to see. By default, the alerting system will send notifications to users in notification groups via email, but it can also be configured to work with third party services such as Slack, VictorOps, PagerDuty etc. with our webhook feature. As you can see Scout APM brings a very mature APM monitoring solution to the PHP and Laravel communities. Deploy tracking also allows you to see details such as how many commits were involved in the deploy and which branch the commits came from. The setup process is similar regardless of which of these services you use, and all it involves is adding the API token on the settings screen of Scout. The second perspective that Scout primarily presents metrics from is at the Trace level.These sorts of operations are easy to do in the trace explorer with custom context, and they help you to get to the bottom of those hard-to-diagnose, time-consuming performance issues.You can reach Endpoint and Trace pages either by coming directly from the main overview page and insights tabs, or by clicking on the Web Endpoints link at the top of the page (shown below). Used defined custom context allows you to tell us what you need to see. The next thing to do is to define some configurations settings to link the agent to your account.These kinds of difficult (but common) performance issues can be tackled with one of the most powerful features of Scout: the trace explorer being used in conjunction with user defined custom context.

Moving your Laravel App from Webpack to Vite

All these community projects and tutorials are sure to help get you started working with Vite and to help you transition over to this bundler. If you have an existing app and want to start using Vite today, here is a list of resources to help you get migrated. Freek Van der Herten wrote a tutorial on making Vite and Valet play nice together. Laravel Vite Migration Guide - The official Laravel Vite plugin includes an in-depth migration guide.

A Package for Onboarding Users in Laravel Apps

addStep ( 'Complete Profile' ) 6 -> link ( '/profile' ) 7 -> cta ( 'Complete' ) 8 -> completeIf ( function ( User $user) { 9 return $user -> profile -> isComplete (); 10 }); 11 12 Onboard :: addStep ( 'Create Your First Post' ) 13 -> link ( '/post/create' ) 14 -> cta ( 'Create Post' ) 15 -> completeIf ( function ( User $user) { 16 return $user -> posts -> count () > 0 ; 17 }); To get a user's onboarding status—among other things—the package has a nice API for accessing things like percentage complete, in progress, finished, and details about individual steps: 1 /** @var \Spatie\Onboard\OnboardingManager $onboarding **/ 2 $onboarding = Auth :: user () -> onboarding (); 3 4 $onboarding -> inProgress (); 5 6 $onboarding -> percentageCompleted (); 7 8 $onboarding -> finished (); 9 10 $onboarding -> steps () -> each ( function ($step) { 11 $step -> title; 12 $step -> cta; 13 $step -> link; 14 $step -> complete (); 15 $step -> incomplete (); 16 }); Additionally, this package supports features such as: Conditionally excluding steps with custom logic Defining custom attributes on a step Use middleware to ensure a user completes onboarding before they are allowed to use certain features And more You can get started with this package by checking it out on GitHub at spatie/[email protected] did some good work polishing it ✍️ Blogpost: https://t.co/zTDsqtx60C#php pic.twitter.com/0uru4apEiU — Freek Van der Herten 🔭 (@freekmurze) June 21, 2022 Here's a quick example taken from the project readme on using this package to create onboarding steps: 1 use App\User ; 2 use Spatie\Onboard\Facades\Onboard ; 3 4 // You can add onboarding steps in a `boot()` method within a service provider 5 Onboard ::

Vite is now the default frontend asset bundler for Laravel applications

Taylor Otwell shared the fastest way to try out Vite on a new project if you want to get a demo of how fast Vite bundles assets: 1 laravel new breeze-test --git 2 cd breeze-test 3 composer require laravel/breeze 4 php artisan breeze:install vue 5 npm install 6 npm run dev Using Laravel Breeze is the recommended way to get started with Vite as it provides frontend and backend authentication scaffolding and tools such as Tailwind, Inertia, and Vite. 1 9:41:12 PM [vite] hmr update /resources/js/Pages/Auth/Login.vue 2 hmr update /resources/css/app.css (x4) The HMR output is "hot module replacement," which provides near-instantaneous build times during development.As of this week, Vite is now the default frontend asset bundler in new Laravel projects with updates to Breeze and Jetstream as well: Today we're pumped to announce that new Laravel projects use Vite to bundle frontend assets. 1 < script type = "module" src = "http://127.0.0.1:3000/@vite/client" ></ script > 2 < script type = "module" src = "http://127.0.0.1:3000/resources/js/app.js" ></ script > Running the above code should end with Vite building dev assets and waiting for changes in the foreground of your terminal: The main app.blade.php layout will now have a @vite directive and renders the following HTML during development: Along with the Vite update, the Laravel docs have a Frontend documentation page, giving you a complete overview of all your frontend options with Laravel applications. As you make changes to your Vue files, you will see output similar to the following, indicating updated builds.🔥 Experience lightning fast Hot Module Replacement when using the new Breeze / Vite stack with Inertia Vue or React.

Validate Your App on the Frontend With Laravel Dry Run Requests

You can start using this validation package by either adding a DryRunnable trait to a form request or using $request->validate() directly: 1 class StoreUserRequest extends FormRequest 2 { 3 use DryRunnable ; 4 5 public function rules () : array 6 { 7 return [ 8 'email' =>[ 'required' , 'string' , 'min:2' , 'max:255' , 'unique:users' ], 10 'nickname' => [ 'nullable' , 'string' , 'min:2' , 'max:255' ], 11 ]; 12 } 13 } On the frontend, you need to send the X-Dry-Run header to validate form input before submitting the whole form:Using this package, you can hit the endpoint users are using to enter a form and get real-time feedback with 100% validation accuracy: The way it works under the hood is that it runs validation logic for a controller but skips the controller action.then ( response => response.status); To learn more about all the features in this package, including Inertia.js support and advanced features, check out the laravel-dry-requests package on GitHub.The Laravel Dry Requests package checks if your requests would pass validation if you executed them normally.post ( 3 '/users' , 4 { username: 'Agent007' }, 5 { headers: { 'X-Dry-Run' : true } } 6 ) 7 .

Laravel Blade Hot Refresh With Vite

The basic configuration in your vite.config.js file looks like the following when installing a new Laravel project: 1 import { defineConfig } from 'vite' ; 2 import laravel from 'laravel-vite-plugin' ; 3 4 export default defineConfig ({ 5 plugins: [ 6 laravel ({ 7 input: [ 8 'resources/css/app.css' , 9 'resources/js/app.js' 10 ], 11 refresh: true , 12 }), 13 ], 14 }); The above snippet is what ships with a brand-new Laravel application; you don't have to do anything to get hot reloads working on a new project. 1 import { defineConfig } from 'vite' ; 2 import laravel from 'laravel-vite-plugin' ; 3 4 export default defineConfig ({ 5 plugins: [ 6 laravel ({ 7 input: [ 8 'resources/css/app.css' , 9 'resources/js/app.js' 10 ], 11 refresh: [ 12 'resources/routes/**' , 13 'routes/**' , 14 'resources/views/**' , 15 ], 16 }), 17 ], 18 }); See Working with Blade & Routes in the official documentation for further details on configuration options. Note the refresh config–when set to true , the Laravel Vite plugin will refresh the page when you update a file in the following paths: 1 routes/** 2 resources/views/** That convention might work for most projects, but if you want to include other paths or files, you can configure the refresh property:First, let's create a new demo project: 1 laravel new blade-hot-reload --git 2 cd blade-hot-reload Once the project is installed, add the following somewhere to the <head/> of the welcome.blade.php file found in resources/views/ : Next, you'll want to install NPM dependencies and run the dev command: 1 npm install 2 npm run dev And that's it!

Making sure routes, config and events of your Laravel app are cached in production

use Spatie\Health\Facades\Health ; use Spatie\Health\Checks\Checks\OptimizedAppCheck ; Health :: checks ([ // other checks, OptimizedAppCheck :: new () -> checkConfig () -> checkRoutes (), ]); How this check works under the hood Laravel makes detecting if things are cached easy. php artisan optimize # will cache routes and config php artisan event:cache # will cache events By caching these things, you'll improve the performance of your Laravel app. Making sure these things are cached in production Laravel Health is a package that can detect various problems that are going on with your application and server. app () -> configurationIsCached () app () -> routesAreCached () app () -> eventsAreCached () When you look at the source code of the OptimizedAppCheck in the laravel-health package, you'll see that we simply use these methods. // typically in a service provider use Spatie\Health\Facades\Health ; use Spatie\Health\Checks\Checks\OptimizedAppCheck ; Health :: checks ([ // other checks... We've added a new check that makes verifies if routes, config and events are cached.OptimizedAppCheck :: new (), ]); This check will pass if the config, routes and events are cached. In a production environment, you want to cache these things. Getting notified when things are not cached in production If you only want to check certain caches, you can call the checkConfig , checkRoutes and checkEvents methods. Oh Dear will not run any code inside your application or server. Here's what the Slack notification looks like when something is not cached. Laravel Health package can build up the JSONA typical Laravel application will likely have many routes, config files and possibly some events. This is how you can use it.In this example, we'll only check for cached config and routes.

A Package to Require Approval Before Peristing Model Data

9 Approval :: where ( 'id' , 1 ) -> approve (); 10 Approval :: where ( 'id' , 2 ) -> reject (); 11 Approval :: where ( 'id' , 3 ) -> postpone (); Finally, if you want to bypass the approval process and persist a model you can use the following method on your model: 1 $model -> withoutApproval () -> update ([ 'title' => 'Some Title' ]); You can get started with this package by checking out the repository on Github at cjmellor/approval. To get started with this package, use the provided MustBeApproved trait on a model: 1 use Cjmellor\Approval\Concerns\MustBeApproved ; 2 3 class Post extends Model 4 { 5 use MustBeApproved ; 6 7 // ... 8 } The package uses a polymorphic relationship to store the data that must be approved in a new table called approvals .4 Approval :: approved () -> get (); 5 Approval :: rejected () -> get (); 6 Approval :: pending () -> count (); 7 8 // 1 use App\Models\Approval ; 2 3 // Get approvals, rejected models, and pending.

Vapor: GitHub Integration + Scaffolding

Starting today, Vapor can create a new GitHub repository (with a fresh copy of Laravel!), deploy the new application to Vapor, and configure GitHub actions to deploy to Vapor each time you push fresh code to your new application. Once you subscribe to Vapor and connect your AWS account, you may create a new project two ways: a fresh Laravel project scaffolded by Vapor or by integrating Vapor into an existing Laravel project. Vapor will only take a couple of minutes to create a new GitHub repository, deploy the application to Vapor, and configure automatic deployments with the help of GitHub Actions. Fresh Laravel Projects Using the "Fresh Laravel Project" option is the fastest way to get started on Vapor and is fully integrated with GitHub and GitHub actions. Existing Laravel Projects Of course, you may wish to use Vapor in your existing Laravel project. This option allows you to manually set up continuous deployment via the Vapor CLI and configure the existing repository with Vapor's dependencies. From this page you can easily create a database, add a custom domain, or dig into the documentation regarding each aspect of your environment and learn everything about what Vapor has to offer. Environment Overview Wait, there's one more thing. We hope you enjoy these wonderful new additions to Laravel Vapor.To deploy, just push your new code to the repository's production branch. Once Vapor's finished, you can immediately preview your application using one of Vapor's vanity domains.When that is the case, you may use the vapor init CLI command or select the "Existing Laravel Project" option on the Vapor dashboard.

Encrypting Laravel Eloquent models with CipherSweet

Rest assured that I will only use your email address to send you the newsletter and will not use it for any other purposes. Every month I send out a newsletter containing lots of interesting stuff for the modern PHP developer. Expect quick tips & tricks, interesting tutorials, opinions and packages.This package is a wrapper over CipherSweet, which allows you to easily use it with Laravel's Eloquent models. We've just released laravel-ciphersweet. Stay up to date with all things Laravel, PHP, and JavaScript.I regularly tweet out programming tips, and what I myself have learned in ongoing projects.

Vapor: Applications May Now Have Up to 10 GB Of Temporary Storage

Now, by default, the /tmp directory is configured to store up to 512 MB, but you may configure manually each function — http , cli , and queue — to provision up to 10,240 MB of ephemeral storage: id: 1 name: my-application environments: staging: tmp-storage: 1024 cli-tmp-storage: 512 queue-tmp-storage: 10240 Keep in mind that you are charged for the storage you configure over the default 512 MB storage capacity. This feature is useful for data-intensive tasks, such as queue jobs that may need additional storage to process a large amount of files.For more details regarding storage pricing, please visit the AWS Lambda pricing page.AWS recently announced that AWS Lambda now supports up to 10 GB ephemeral storage.

Using the `Attachable` interface to attach any kind of object to a mail in a Laravel app

// in a Mailable public function __construct ( public Photo $photo) { } public function build () { return $this -> view ( 'emails.yourView' ) -> attach ( $this -> photo -> path); } This is not too bad, but it is strange that the mailable should know that Photo has a path property. // in a Mailable public function __construct ( public Photo $photo) { } public function build () { return $this -> view ( 'emails.orders.shipped' ) -> attach ( $this -> photo); } In this case, we only gained that we didn't have to specify ->path . // in a Mailable public function __construct ( public BlogPost $blogPost) { } public function build () { return $this -> view ( 'emails.yourView' ) -> attach ( $this -> blogPost -> getFirstMedia ()); } And that's all you need to do to attach that first image. BlogPost :: find ($blogPostId); -> addMedia ($pathToImage) -> toMediaCollection ( 'images' , 's3' ); Behind the scenes, the media library will create a Media model that holds all the information regarding the image file (the name, the path, the disk name, the mime type, ...) and a reference to the BlogPost model.Attachment :: fromStorageDisk ( $this -> disk, $path) -> as ( $this -> file_name); if ( $this -> mime_type) { $attachment -> withMime ( $this -> mime); } return $attachment; } } In closing Tim McDonald did a very nice job adding Attachable to Laravel. namespace Spatie\MediaLibrary\MediaCollections\Models ; use Illuminate\Contracts\Mail\Attachable ; class Media extends Model implements Attachable { // all other methods... public function toMailAttachment () : Making use of Attachable Let's look at how you would attach files to Mailables in previous versions of Laravel. namespace App\Models ; use Illuminate\Contracts\Mail\Attachable ; use Illuminate\Database\Eloquent\Model ; use Illuminate\Mail\Attachment ; class Photo extends Model implements Attachable { Imagine that your app has a simple Photo model with a path property that contains the path to the actual image file. Attaching media Laravel Media Library is our powerhouse package to associate files with Eloquent models.Attachment { return Attachment :: fromPath ( $this -> path); } } With this in place, you can pass a Photo model to attach. Let's look at how we use Laravel's attachable Attachable interface in Media Library's Media model. Let's associate an image file to the model and use s3 to store it. Imagine that your app has a blog post model that you have prepared to use with media library . Using our media library package you can easily associate any file with an Eloquent model. Let's now attach that image file. Media Library can also create thumbnails and any conversion for your files. In Laravel 9, a new Attachable interface was introduced. In this blog post, I'd like to tell you all about it. Be sure also to look at this extensive list of other packages that our team has made.

Log4j Vulnerability Update

The vast majority of servers provisioned by Forge will not be vulnerable; however, if you have manually installed applications such as ElasticSearch your server may be affected. Laravel Vapor Laravel Vapor does not install or use Log4j in both the native or Docker runtimes. To check if your server is affected, you can use a script such as log4j_checker_beta . Laravel Forge Laravel Forge does not install Log4j by default.

CRUD LARAVEL 9

Love podcasts or audiobooks?

Development.sh the alternative news website

This is an app that can be used by anyone, without any cost. It is an artificial intelligence assistant that will read news for you and provide you with relevant information while generating revenue.