Weave Code
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

Mago Laravel Package

carthage-software/mago

Mago is an extremely fast PHP linter, formatter, and static analyzer written in Rust. It helps teams catch issues early, enforce consistent style, and improve code quality across projects, with multiple install options like script, Homebrew, Composer, and Cargo.

View on GitHub
Deep Wiki
Context7

+++ title = "格式化器" description = "格式化器的功能,以及它如何产出确定性输出。" nav_order = 10 nav_section = "工具" nav_subsection = "Formatter" +++

格式化器

一款面向 PHP 的确定性格式化器。对一个文件运行它,无论该文件当前的风格如何,你都会得到相同的输出。停止争论空白,开始阅读代码。

工作原理

Mago 借鉴了 Prettier、rustfmt 和 Black 所使用的“解析后再打印”的思路:

  1. 把源代码解析为 CST。
  2. 丢弃原有的格式(空白、换行、缩进等所有信息)。
  3. 按一组固定的规则从头重新打印 CST,默认遵循 PER-CS

对于给定的 CST,无论输入风格如何,输出都完全一致。代码的运行时行为被精确保留:AST 是可往返的,只有表层表示发生变化。

你能得到什么

  • **整个项目一致的风格。**格式化器在设计上就是有主见的。
  • 默认 PER-CS,可选 PSR-12、Laravel、Drupal 风格的预设。
  • **安全。**格式化器只会做不会改变程序行为的修改。
  • **快速。**Rust 内核与基于 arena 的流水线,使得格式化阶段在大多数项目上远低于一秒。

接下来读什么

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.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle