# Composer

Composer is a dependency manager for PHP that declares, installs, and updates project libraries.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## SymfonyCon Warsaw 2026: The Attack Reached PHP: Composer and Packagist, One Year On

DevFeed: [SymfonyCon Warsaw 2026: The Attack Reached PHP: Composer and Packagist, One Year On](<https://devfeed.tech/articles/symfonycon-warsaw-2026-the-attack-reached-php-composer-and-packagist-one-year-on-31523.md>)

Original publisher: [Read original article](<https://symfony.com/blog/symfonycon-warsaw-2026-the-attack-reached-php-composer-and-packagist-one-year-on>)

Author: Eloïse Charrier

Published: 2026-09-16T12:30:00Z

Content type: article

Language: en

Sources: [Symfony Blog](<https://devfeed.tech/sources/symfony-blog.md>)

Topics: [Symfony](<https://devfeed.tech/topics/symfony.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [PHP](<https://devfeed.tech/topics/php.md>), [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [composer](<https://devfeed.tech/tags/composer.md>), [conference](<https://devfeed.tech/tags/conference.md>), [github](<https://devfeed.tech/tags/github.md>), [php](<https://devfeed.tech/tags/php.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>), [symfony](<https://devfeed.tech/tags/symfony.md>)

### AI overview

SymfonyCon Warsaw 2026 will take place in Poland on November 26-27, with talks across three parallel tracks and related community events. The announcement highlights a talk about PHP supply-chain security changes made after attacks involving Composer and Packagist, including malware detection, transparency logging, dependency policies, immutable releases, release-age settings, maintainer MFA status, and ownership controls.

### Source excerpt

Get ready to connect with the global Symfony community! SymfonyCon Warsaw 2026 is landing in Poland, on November 26-27. We are bringing you two days of inspiring talks across 3 parallel tracks, alongside plenty of networking opportunities and vibrant...

## Laravel Vet: Review Composer Code Before It Installs

DevFeed: [Laravel Vet: Review Composer Code Before It Installs](<https://devfeed.tech/articles/laravel-vet-review-composer-code-before-it-installs-26976.md>)

Original publisher: [Read original article](<https://laravel-news.com/laravel-vet>)

Author: Eric L. Barnes

Published: 2026-09-15T13:33:11Z

Content type: release

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [dependency](<https://devfeed.tech/tags/dependency.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [news](<https://devfeed.tech/tags/news.md>), [php](<https://devfeed.tech/tags/php.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [security](<https://devfeed.tech/tags/security.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

Laravel Vet is a first-party Composer plugin that displays dependency code changes before installation, records trusted package files in vet.json, and blocks updates containing untrusted changes. It can also send changes to local coding agents for review.

### Source excerpt

Laravel Vet is a new first-party Composer plugin that shows you the code in every dependency update and records the packages you trust in vet.json. The post Laravel Vet: Review Composer Code Before It Installs appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory with PHP

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory with PHP](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-memory-with-php-26246.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory-php>)

Author: Amanda Lange, Matthew Setter

Published: 2026-09-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [context](<https://devfeed.tech/topics/context.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [context](<https://devfeed.tech/tags/context.md>), [conversation-memory](<https://devfeed.tech/tags/conversation-memory.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [llm](<https://devfeed.tech/tags/llm.md>), [logging](<https://devfeed.tech/tags/logging.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [php](<https://devfeed.tech/tags/php.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [voice-api](<https://devfeed.tech/tags/voice-api.md>)

### AI overview

This tutorial shows how to build a PHP service with Open Swoole that uses Twilio Conversation Memory to preserve caller context, preferences, and action history across separate inbound calls. It covers the required accounts, tools, environment variables, Composer setup, OpenAI integration, logging, and Memory Store configuration.

### Source excerpt

In this tutorial you'll make a PHP service using Open Swoole that retains caller context, preferences and action history across multiple separate inbound calls.

## Laravel Lang Supply Chain Advisory

DevFeed: [Laravel Lang Supply Chain Advisory](<https://devfeed.tech/articles/laravel-lang-supply-chain-advisory-7997.md>)

Original publisher: [Read original article](<https://snyk.io/blog/laravel-lang-supply-chain-advisory/>)

Author: Brian Clark

Published: 2026-05-23T16:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [Credential theft](<https://devfeed.tech/topics/credential-theft.md>), [Malware](<https://devfeed.tech/topics/malware.md>), [PHP](<https://devfeed.tech/topics/php.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [application-security](<https://devfeed.tech/tags/application-security.md>), [article](<https://devfeed.tech/tags/article.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [code](<https://devfeed.tech/tags/code.md>), [credential-theft](<https://devfeed.tech/tags/credential-theft.md>), [developer](<https://devfeed.tech/tags/developer.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [github](<https://devfeed.tech/tags/github.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [php](<https://devfeed.tech/tags/php.md>), [scm](<https://devfeed.tech/tags/scm.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [security](<https://devfeed.tech/tags/security.md>), [security-labs](<https://devfeed.tech/tags/security-labs.md>), [snyk-open-source](<https://devfeed.tech/tags/snyk-open-source.md>), [snyk-security-intel](<https://devfeed.tech/tags/snyk-security-intel.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>), [tech](<https://devfeed.tech/tags/tech.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [vulnerability-insights](<https://devfeed.tech/tags/vulnerability-insights.md>)

### AI overview

The article examines a Laravel Lang supply-chain attack in which hundreds of historical Packagist releases for four community-maintained Laravel localization libraries were republished with malicious code. The injected Composer hook executes on PHP requests, downloads a second stage, and runs a credential stealer targeting cloud keys, Kubernetes and Vault secrets, CI/CD tokens, SSH material, environment files, browser data, password-manager vaults, crypto wallets, and messaging tokens.

### Source excerpt

Hundreds of historical Laravel Lang Packagist releases were republished with malicious code, putting Composer installs at risk of credential theft and secret exfiltration.

## Laravel Cloud CLI: Deploy and Manage Laravel Apps from the Terminal

DevFeed: [Laravel Cloud CLI: Deploy and Manage Laravel Apps from the Terminal](<https://devfeed.tech/articles/laravel-cloud-cli-deploy-and-manage-laravel-apps-from-the-terminal-3758.md>)

Original publisher: [Read original article](<https://laravel.com/blog/laravel-cloud-cli-deploy-manage-apps-terminal>)

Author: Laravel Team

Published: 2026-03-20T13:11:21Z

Content type: article

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [API](<https://devfeed.tech/topics/api.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [guides](<https://devfeed.tech/tags/guides.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [laravel](<https://devfeed.tech/tags/laravel.md>)

### AI overview

The Laravel Cloud CLI provides terminal access to Laravel Cloud for deploying Laravel applications, managing environments and variables, streaming logs, connecting to databases, and running Artisan commands. It is distributed as a global Composer package, uses the Laravel Cloud API, and supports inline authentication.

### Source excerpt

The Laravel Cloud CLI lets you deploy Laravel apps, manage environments, and run Artisan commands from the terminal. Install via Composer and skip the dashboard.

## Reviving a Static Blog with Nix and Reproducible Builds

DevFeed: [Reviving a Static Blog with Nix and Reproducible Builds](<https://devfeed.tech/articles/reviving-the-blog-21147.md>)

Original publisher: [Read original article](<https://ocramius.github.io/blog/reviving-the-blog/>)

Published: 2026-02-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Marco Pivetta](<https://devfeed.tech/sources/marco-pivetta.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [PHP](<https://devfeed.tech/topics/php.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [WordPress](<https://devfeed.tech/topics/wordpress.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [php](<https://devfeed.tech/tags/php.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>)

### AI overview

The author returns to blogging and explains how they stabilized a Sculpin-based static website by using Nix Flakes to pin dependencies and support reproducible builds. The article also covers Composer dependency hashing and deployment to GitHub Pages.

### Source excerpt

I'm back! The last time I blogged was in 2017: a lot has changed since then, and after a decade of ignoring blogging, I will attempt to put some regularity into it again. The times call for it: having a personal space that is really "our own" is extremely important, and it is as important as having something to read that is written by other humans, and not slop. I mainly stopped blogging for two reasons: Wordpress and similar tools are terrible, for rarely changing content. I'd rather not blog, than host a dynamic website just for serving static webpages My static site generation pipeline heavily relied on my workstation's software dependencies, which shifted continuously, breaking the website build at all times. Stabilizing the build Note: This section describes the Nixification of the blog, done in this pull request. You can skip this, if you prefer reading the PR instead. The first thing to do is to get everything under control again. Since a few years back, I started heavily relying on Nix, a lazy functional language that is perfect to achieve reproducible builds and environments. At the time of this writing, this website is built via Sculpin, a static website generator whose dependency upgrades I've neglected for far too long. In order to "freeze" the build in time, I used a Nix Flake to pin all the dependencies down, preventing any further shifts in dependency versions: { inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, composer2nix, ... }@inputs: flake-utils.lib.eachDefaultSystem ( system: { packages = { # things that will stay extremely stable will go here }; } ); } The above will "pin" dependencies such as composer or php, preventing them from drifting apart, unless a commit moves them. This is also thanks to the built-in flake.lock mechanism of Nix Flakes. Because Composer does not compute content hashes of PHP dependencies, NixOS cannot directly u

## Announcing Laravel Boost

DevFeed: [Announcing Laravel Boost](<https://devfeed.tech/articles/announcing-laravel-boost-3580.md>)

Original publisher: [Read original article](<https://laravel.com/blog/announcing-laravel-boost>)

Author: Ashley Hindle

Published: 2025-08-13T14:00:41Z

Content type: article

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Laravel Boost](<https://devfeed.tech/topics/laravel-boost.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [PHP](<https://devfeed.tech/topics/php.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [free](<https://devfeed.tech/tags/free.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [laravel-boost](<https://devfeed.tech/tags/laravel-boost.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [php](<https://devfeed.tech/tags/php.md>)

### AI overview

Laravel Boost is a public-beta Composer package that supports AI-assisted Laravel development. It runs in a project, provides a Laravel-aware MCP server and tools, supplies version-specific documentation and guidelines, and helps AI coding agents inspect applications and generate Laravel-conforming code and tests.

### Source excerpt

Ship Laravel features faster with Boost, a Composer package that accelerates AI-assisted Laravel development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.

## Announcing Laravel Support and PHP PDO Interface

DevFeed: [Announcing Laravel Support and PHP PDO Interface](<https://devfeed.tech/articles/announcing-laravel-support-and-php-pdo-interface-5889.md>)

Original publisher: [Read original article](<https://turso.tech/blog/announcing-laravel-support>)

Author: Levy Albuquerque

Published: 2025-01-09T00:00:00Z

Content type: release

Language: en

Sources: [Turso Blog](<https://devfeed.tech/sources/turso-blog.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Turso](<https://devfeed.tech/topics/turso.md>), [PHP](<https://devfeed.tech/topics/php.md>), [libSQL](<https://devfeed.tech/topics/libsql.md>), [PHP Data Objects (PDO)](<https://devfeed.tech/topics/pdo.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [Eloquent ORM](<https://devfeed.tech/topics/eloquent.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [features](<https://devfeed.tech/tags/features.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [libsql](<https://devfeed.tech/tags/libsql.md>), [orm](<https://devfeed.tech/tags/orm.md>), [php](<https://devfeed.tech/tags/php.md>), [recommendation-system](<https://devfeed.tech/tags/recommendation-system.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [turso](<https://devfeed.tech/tags/turso.md>)

### AI overview

Turso announces official Laravel support through the open-source libsql-laravel adapter and PHP PDO interface. The technical preview integrates with Laravel's database layer, supports local SQLite and Turso configurations, and removes the need for custom PHP extensions. The article also demonstrates migrations, Eloquent models, vector embeddings, and similarity searches for a movie recommendation system.

### Source excerpt

Use Turso natively with Laravel through our new 'libsql-laravel' adapter and PHP PDO interface. No custom PHP extensions, just a database URL and auth token.

## How the Guardian improved Typerighter, its style-guide checking tool

DevFeed: [How the Guardian improved Typerighter, its style-guide checking tool](<https://devfeed.tech/articles/making-typerighter-work-harder-19958.md>)

Original publisher: [Read original article](<https://www.theguardian.com/info/2023/dec/11/making-typerighter-work-harder-engineering-blog>)

Author: Rhys Mills

Published: 2023-12-11T15:12:52Z

Content type: article

Language: en

Sources: [Guardian](<https://devfeed.tech/sources/guardian.md>)

Topics: [Tool](<https://devfeed.tech/topics/tool.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Library](<https://devfeed.tech/topics/library.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [content](<https://devfeed.tech/tags/content.md>), [library](<https://devfeed.tech/tags/library.md>), [quality](<https://devfeed.tech/tags/quality.md>), [quality-control](<https://devfeed.tech/tags/quality-control.md>), [regex](<https://devfeed.tech/tags/regex.md>), [scala](<https://devfeed.tech/tags/scala.md>), [tool](<https://devfeed.tech/tags/tool.md>), [web-app](<https://devfeed.tech/tags/web-app.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

The Guardian describes improvements to Typerighter, a style-guide checking tool integrated with its Composer content management system. The system uses curated regular expressions and XML-based LanguageTool rules to identify potential spelling and grammar problems, and the article explains why expanding its use was important for live blogs.

### Source excerpt

How we improved Typerighter, the Guardian's style guide checker, to provide more value for the Guardian and its readers Minimising typos is important to a newspaper. Publishing messy prose might undermine trust in our overall quality control - why trust our political reporting if we can't spell Thérèse Coffey's name? We want to provide accurate information, and typos can mutate meaning - a single letter can transform a fiend to a friend and a bowl to a bowel. Worse, a missing word can turn a holy text into a wicked one. The Guardian is in the business of words, and we're keen to avoid "idiosyncratic" spelling decisions. That's why we built Typerighter, a tool that offers recommendations from our style guide into our content management system - Composer - and highlights errors well before the articles get in front of our readers. Continue reading...

## Composer for the Rest of Us

DevFeed: [Composer for the Rest of Us](<https://devfeed.tech/articles/composer-for-the-rest-of-us-31246.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/composer-for-the-rest-of-us>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2022-08-14T20:04:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [composer](<https://devfeed.tech/tags/composer.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [insights](<https://devfeed.tech/tags/insights.md>), [install](<https://devfeed.tech/tags/install.md>), [json](<https://devfeed.tech/tags/json.md>), [learn](<https://devfeed.tech/tags/learn.md>), [leverage](<https://devfeed.tech/tags/leverage.md>), [like](<https://devfeed.tech/tags/like.md>), [manage](<https://devfeed.tech/tags/manage.md>), [php](<https://devfeed.tech/tags/php.md>), [php-based](<https://devfeed.tech/tags/php-based.md>), [projects](<https://devfeed.tech/tags/projects.md>)

### AI overview

A tutorial on Composer, the PHP dependency-management tool. It explains how Composer declares, installs, updates, and autoloads project dependencies, then introduces composer.json, composer.lock, Packagist, and useful Composer commands.

### Source excerpt

Learn about how you can leverage Composer like a pro to manage & install your dependencies in PHP-based projects

## Super-charging Laravel Forge Deployments with Environment Variables

DevFeed: [Super-charging Laravel Forge Deployments with Environment Variables](<https://devfeed.tech/articles/super-charging-laravel-forge-deployments-with-environment-variables-3916.md>)

Original publisher: [Read original article](<https://laravel.com/blog/super-charging-laravel-forge-deployments-with-environment-variables>)

Author: James Brooks

Published: 2022-06-24T17:08:00Z

Content type: article

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Provisioning](<https://devfeed.tech/topics/provisioning.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [php](<https://devfeed.tech/tags/php.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>), [redis](<https://devfeed.tech/tags/redis.md>)

### AI overview

This article explains how Laravel Forge uses environment variables to make deployment scripts more flexible. It covers automatic deployment scripts, Composer dependency installation, frontend asset builds, PHP version selection, custom variables passed through deployment trigger URLs, and conditional deployment behavior.

### Source excerpt

Aside from provisioning servers and creating sites, Laravel Forge does so much more, including deploying code to your sites.

## Converting a Laravel App to a Shopify App

DevFeed: [Converting a Laravel App to a Shopify App](<https://devfeed.tech/articles/converting-a-laravel-app-to-a-shopify-app-28188.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/laravel/2021/08/27/converting-a-laravel-app-to-a-shopify-app.html>)

Author: Fuzzygroup

Published: 2021-08-27T14:11:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [PHP](<https://devfeed.tech/topics/php.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [Composer](<https://devfeed.tech/topics/composer.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [ecommerce](<https://devfeed.tech/tags/ecommerce.md>), [framework](<https://devfeed.tech/tags/framework.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [php](<https://devfeed.tech/tags/php.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial explaining how to build a private or custom Shopify app with Laravel. It covers creating the app in the Shopify Dashboard, configuring callback and redirect URLs, adding Shopify support to Laravel, installing the osiset Shopify component, and setting credentials and API scopes.

### Source excerpt

This blog post tackles the odd topic of taking a Laravel application and converting it to a Shopify app. Overview Shopify is an ecommerce platform for building hosted shopping sites. With Shopify your whole ecommerce experience exists on a shopify url (whether the domain is .shopify.com or not; Shopify is serving everything and the underlying source of data is Shopify itself). Laravel is an MVC based framework for building web applications using the php language. In this blog post, I will attempt to document all the steps to build a "shopify app" using Laravel. A Shopify app is a web application which, can be hosted anywhere, that authenticates itself to Shopify and is embedded in a page on the Shopify website. Step 1: Create a Shopify App Using the Shopify Dashboard There are a few different types of Shopify apps: Private / Custom - A private app can only be used by one shopify site and cannot be listed in the Shopify app catalog. Private apps have no review / approval cycle. Public - A public app is listed in the Shopify catalog, is reviewed and approved by Shopify In this tutorial we will be focused on private / custom apps. The first step is to create our app. This can be done with this url: https://partners.shopify.com/ There are two url settings: The Callback url; this might also be called the App url (Shopify has changed their UI a number of times) The Redirect uri; this might be called the "Allowed redirection URL(s)" The callback url needs to be set to your home route, the default route for your application. The redirect uri needs to be set to the /authenticate route (this is automatically provided by ) Note: Everything you do with the Shopify website needs to be done in Chrome. No other browser such as Brave seems to work. Step 2: Adding Shopify Support to Your Laravel App The first step is to install the osiset shopify component: composer require osiset/laravel-shopify After that you need to generate a configuration file: php artisan vendor:publish --tag=

## A Simple Laravel Hello World

DevFeed: [A Simple Laravel Hello World](<https://devfeed.tech/articles/a-simple-laravel-hello-world-28186.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/laravel/2021/05/27/a-simple-laravel-hello-world.html>)

Author: Fuzzygroup

Published: 2021-05-27T13:02:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [mvc](<https://devfeed.tech/topics/mvc.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [how-to](<https://devfeed.tech/tags/how-to.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [make](<https://devfeed.tech/tags/make.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [php](<https://devfeed.tech/tags/php.md>), [route](<https://devfeed.tech/tags/route.md>), [view](<https://devfeed.tech/tags/view.md>)

### AI overview

A step-by-step Laravel tutorial that builds a minimal Hello World application using Composer, a controller, a route, a variable, and an HTML view. It explains that the example demonstrates parts of an MVC framework without covering models or database connectivity.

### Source excerpt

As of late I've been working in Laravel and figuring out how Laravel differs from Rails. And while I have a bigger blog post in the works, I thought there was learning value in a simple Hello World implemented in Laravel. Hello World is a simple program that just puts Hello World on the screen. Here's how I thought a Laravel version of this should work: Be a whole Laravel application Be a single controller Be a single route Define the text "Hello World" as a variable, $text, in the controller Display that on the screen via an HTML template While this doesn't illustrated models and database connectivity, this actually illustrates how to use a surprising amount of an overall MVC framework. Step 1: Creating an Application The first step is to use composer to generate the overall application with: composer create-project laravel/laravel hello_world The next step is to change into the directory with: cd hello_world and then open the code base with: mate . or if you use Sublime: subl . Step 2: Generating a Controller Back at your command line, you want to generate a controller with: php artisan make:controller HelloController This will create a file named HelloController in app/http/Controllers: ls -l app/Http/Controllers total 16 -rw-r--r-- 1 sjohnson staff 361 May 18 11:37 Controller.php -rw-r--r-- 1 sjohnson staff 122 May 27 09:12 HelloController.php Inside the controller you want to add the following code (some of which will already be there from the generator): public function index() { return view('hello_index'); } inside the "class HelloController extends Controller" block of code (it goes inside the {} braces). Step 3: Adding a Route Moving back to the code base, you want to edit the file routes/web.php and add this line: Route::get('/hello', 'App\Http\Controllers\HelloController@index'); This adds a single route, /hello, which is then handled by the Hello controller and the hello_index action. You can test that this route is available by running: php artisan rout

## Updating Craft CMS Without Headaches

DevFeed: [Updating Craft CMS Without Headaches](<https://devfeed.tech/articles/updating-craft-cms-without-headaches-31311.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/updating-craft-cms-without-headaches>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2020-11-30T05:00:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [cause](<https://devfeed.tech/tags/cause.md>), [cms](<https://devfeed.tech/tags/cms.md>), [composer](<https://devfeed.tech/tags/composer.md>), [craft](<https://devfeed.tech/tags/craft.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [doesn-t](<https://devfeed.tech/tags/doesn-t.md>), [headaches](<https://devfeed.tech/tags/headaches.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [insights](<https://devfeed.tech/tags/insights.md>), [latest](<https://devfeed.tech/tags/latest.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [pain](<https://devfeed.tech/tags/pain.md>), [php](<https://devfeed.tech/tags/php.md>), [prescription](<https://devfeed.tech/tags/prescription.md>), [update](<https://devfeed.tech/tags/update.md>), [updating](<https://devfeed.tech/tags/updating.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

A tutorial on updating Craft CMS after version 3 moved the platform and its plugins to Composer-managed PHP packages. It recommends frequent updates, ideally about once per month, to reduce dependency complexity and make problems easier to roll back.

### Source excerpt

Updating Craft CMS to the latest version doesn't have to cause headaches. Here's our prescription for how to update Craft CMS without pain

## Forge: Upgrading To Composer 2.0

DevFeed: [Forge: Upgrading To Composer 2.0](<https://devfeed.tech/articles/forge-upgrading-to-composer-2-0-3928.md>)

Original publisher: [Read original article](<https://laravel.com/blog/upgrading-to-composer-v2>)

Author: James Brooks

Published: 2020-10-26T20:03:00Z

Content type: tutorial

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [servers](<https://devfeed.tech/tags/servers.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

A guide to upgrading servers from Composer 1 to Composer 2. New servers receive Composer 2 automatically, while existing servers can be upgraded by updating Forge's scheduled task, using SSH, or running a recipe. The article also notes that incompatible applications can be rolled back to Composer 1.

### Source excerpt

Following the release of Composer 2 on October 24th, we wanted to share a guide on how to upgrade your servers to make the most of all the great benefits it brings. First, all new servers will automa...

## Envoyer: Refreshed Deployment Steps

DevFeed: [Envoyer: Refreshed Deployment Steps](<https://devfeed.tech/articles/envoyer-refreshed-deployment-steps-3629.md>)

Original publisher: [Read original article](<https://laravel.com/blog/envoyer-refreshed-deployment-steps>)

Author: James Brooks

Published: 2020-09-22T07:23:00Z

Content type: article

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [release](<https://devfeed.tech/tags/release.md>), [servers](<https://devfeed.tech/tags/servers.md>)

### AI overview

The article announces an Envoyer update that refreshes deployment steps. Envoyer retains four fixed actions--cloning a new release, optionally installing Composer dependencies, activating the release, and purging old releases--while allowing custom deployment hooks to be reordered in one list. The interface also shows which user runs each action and on which servers.

### Source excerpt

Yesterday we shipped an updated to [Envoyer](https://envoyer.io) that gives deployment steps a much needed refresh. ![Envoyer Deployment Steps](https://laravel-blog-assets.s3.amazonaws.com/zpU2i4q89m...

## Forge: Composer Update Times

DevFeed: [Forge: Composer Update Times](<https://devfeed.tech/articles/forge-composer-update-times-3649.md>)

Original publisher: [Read original article](<https://laravel.com/blog/forge-composer-update-times>)

Author: James Brooks

Published: 2020-05-05T14:23:00Z

Content type: news

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Server](<https://devfeed.tech/topics/server.md>), [DDoS](<https://devfeed.tech/topics/ddos.md>)

Tags: [ddos](<https://devfeed.tech/tags/ddos.md>), [servers](<https://devfeed.tech/tags/servers.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Forge changed the Composer self-update cron task on new and existing servers to run at randomized times. This replaced the previous midnight schedule, when all Forge servers updated simultaneously and unintentionally caused a DDoS against Composer's servers.

### Source excerpt

At the beginning of April, we deployed a change to all new and existing Forge servers to randomize the `composer self-update` cron task. Previously, all Forge servers would attempt to update Composer...

## Laravel v7.6.0 released

DevFeed: [Laravel v7.6.0 released](<https://devfeed.tech/articles/laravel-v7-6-0-released-3866.md>)

Original publisher: [Read original article](<https://laravel.com/blog/laravel-v7-6-0-released>)

Author: Laravel Team

Published: 2020-04-14T19:13:00Z

Content type: release

Language: en

Sources: [Laravel Blog](<https://devfeed.tech/sources/laravel-blog.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Symfony](<https://devfeed.tech/topics/symfony.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [release](<https://devfeed.tech/tags/release.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Laravel v7.6.0 introduces new methods, middleware and component features, Composer installed.json format support, migration changes, PostgreSQL bytea resource storage, and various fixes and behavior changes.

### Source excerpt

Laravel v7.6.0 is released in 2020/04/14, here are the changes we`ve merged into this release.

## Setting up a New Craft CMS 3 Project

DevFeed: [Setting up a New Craft CMS 3 Project](<https://devfeed.tech/articles/setting-up-a-new-craft-cms-3-project-31296.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/setting-up-a-craft-cms-3-project>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2017-12-05T19:45:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [.env](<https://devfeed.tech/topics/dotenv.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>)

Tags: [cms](<https://devfeed.tech/tags/cms.md>), [composer](<https://devfeed.tech/tags/composer.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [craft](<https://devfeed.tech/tags/craft.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [insights](<https://devfeed.tech/tags/insights.md>), [kick](<https://devfeed.tech/tags/kick.md>), [project](<https://devfeed.tech/tags/project.md>), [release](<https://devfeed.tech/tags/release.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [tires](<https://devfeed.tech/tags/tires.md>), [want](<https://devfeed.tech/tags/want.md>)

### AI overview

A tutorial roadmap for setting up a new Craft CMS 3 project. It discusses production considerations, plugin compatibility, Composer-based installation and updating, directory structure changes, environment-specific configuration through a .env file, and template changes.

### Source excerpt

With the release of Craft CMS 3, you might want to kick the tires. Here is how to set up a Craft CMS 3 project

## Creating a Customer in PHP

DevFeed: [Creating a Customer in PHP](<https://devfeed.tech/articles/creating-a-customer-in-php-15588.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/creating-a-customer-in-php>)

Author: Tristan Sokol

Published: 2017-10-20T21:24:46Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>), [API](<https://devfeed.tech/topics/api.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Composer](<https://devfeed.tech/topics/composer.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [code](<https://devfeed.tech/tags/code.md>), [customer](<https://devfeed.tech/tags/customer.md>), [customers](<https://devfeed.tech/tags/customers.md>), [php](<https://devfeed.tech/tags/php.md>), [post](<https://devfeed.tech/tags/post.md>), [script](<https://devfeed.tech/tags/script.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

A tutorial explaining how to create a customer in Square's Customers API using PHP. It describes loading the PHP SDK installed with Composer, setting an account access token, creating a customer object, and submitting it through the API.

### Source excerpt

Using Square's Customers API using PHP

## How to install Square's beta SDKs

DevFeed: [How to install Square's beta SDKs](<https://devfeed.tech/articles/how-to-install-square-s-beta-sdks-15680.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/how-to-install-the-beta-sdks>)

Author: Tristan Sokol

Published: 2017-05-02T22:34:15Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [SDKs](<https://devfeed.tech/topics/sdks.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [Python](<https://devfeed.tech/topics/python.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [python](<https://devfeed.tech/tags/python.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

A tutorial explaining how to install Square's beta 2.1.0 SDKs, upgrade existing integrations, and obtain the packages through Composer, GitHub, Ruby, and Python workflows. It also summarizes endpoint support and changes to authorization handling.

### Source excerpt

We recently released a big update to SDKs--here's how to upgrade.

## Craft 3 Beta Executive Summary

DevFeed: [Craft 3 Beta Executive Summary](<https://devfeed.tech/articles/craft-3-beta-executive-summary-31248.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/craft-3-beta-executive-summary>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2017-02-09T22:00:00Z

Content type: opinion

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>)

Tags: [beta](<https://devfeed.tech/tags/beta.md>), [cms](<https://devfeed.tech/tags/cms.md>), [craft](<https://devfeed.tech/tags/craft.md>), [executive](<https://devfeed.tech/tags/executive.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [major](<https://devfeed.tech/tags/major.md>), [platform](<https://devfeed.tech/tags/platform.md>), [releases](<https://devfeed.tech/tags/releases.md>), [reviews](<https://devfeed.tech/tags/reviews.md>), [summary](<https://devfeed.tech/tags/summary.md>)

### AI overview

An executive summary of the first public beta of Craft 3, covering its Composer-based installation and updates, Yii2 foundation, performance and memory improvements, multi-site and localization capabilities, image focal points, and guidance on adopting the beta.

### Source excerpt

Here's an executive summary of Craft 3 beta, a major new iteration of the Craft CMS platform

## Enforce code standards with composer, git hooks, and phpcs

DevFeed: [Enforce code standards with composer, git hooks, and phpcs](<https://devfeed.tech/articles/enforce-code-standards-with-composer-git-hooks-and-phpcs-29154.md>)

Original publisher: [Read original article](<http://tech.zumba.com/2014/04/14/control-code-quality//>)

Author: Chris Saylor (christopher.saylor@zumba.com)

Published: 2014-04-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Zumba](<https://devfeed.tech/sources/zumba.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Git](<https://devfeed.tech/topics/git.md>), [git hooks](<https://devfeed.tech/topics/git-hooks.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [code-quality](<https://devfeed.tech/tags/code-quality.md>), [composer](<https://devfeed.tech/tags/composer.md>), [git](<https://devfeed.tech/tags/git.md>), [git-hooks](<https://devfeed.tech/tags/git-hooks.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>)

### AI overview

An article about enforcing code standards with Composer, Git hooks, and PHPCS to improve code quality at the commit level and reduce back-and-forth in pull requests.

### Source excerpt

Reduce number of back-and-forths in pull requests by enforcing code quality at the commit level.