PSRPHP

PHP chưa bao giờ thực sự có một tiêu chuẩn thống nhất để viết code. Mọi người đều tuân theo các quy ước đặt tên và nguyên tắc mã hóa của riêng họ

Tiêu chuẩn PSR

Tiêu chuẩn mã hóa là một yếu tố quan trọng để đạt được chất lượng mã cao. Một phong cách trực quan phổ biến, quy ước đặt tên và các cài đặt kỹ thuật khác cho phép chúng tôi tạo ra một mã đồng nhất, dễ đọc và dễ bảo trì

Viết Hướng dẫn cơ bản về các thành phần Symfony khiến tôi muốn viết nhiều bài viết như thế này. Tại sao không làm điều tương tự cho PSR?

Không dùng nữa - Kể từ 2014-10-21 PSR-0 đã được đánh dấu là không dùng nữa. PSR-4 hiện được khuyến nghị thay thế

Phần sau đây mô tả các yêu cầu bắt buộc phải được tuân thủ để có khả năng tương tác với trình tải tự động

Bắt buộc

  • Một không gian tên và lớp đủ điều kiện phải có cấu trúc như sau
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    2
  • Mỗi không gian tên phải có một không gian tên cấp cao nhất ["Tên nhà cung cấp"]
  • Mỗi không gian tên có thể có bao nhiêu không gian tên con tùy ý
  • Mỗi dấu tách không gian tên được chuyển đổi thành
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    3 khi tải từ hệ thống tệp
  • Mỗi ký tự
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    4 trong TÊN LỚP được chuyển thành một ký tự
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    3. Ký tự
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    4 không có ý nghĩa đặc biệt trong không gian tên
  • Lớp và không gian tên đủ điều kiện có hậu tố
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    7 khi tải từ hệ thống tệp
  • Các ký tự chữ cái trong tên nhà cung cấp, không gian tên và tên lớp có thể là bất kỳ sự kết hợp nào giữa chữ thường và chữ hoa

ví dụ

  • git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    8 =>
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    9
  • git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    0 =>
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    20
  • git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    21 =>
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    22
  • git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    23 =>
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    24

Dấu gạch dưới trong Không gian tên và Tên lớp

  • git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    25 =>
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    26
  • git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    27 =>
    git clone //github.com/jbboehr/php-psr.git
    cd php-psr
    /usr/local/bin/phpize
    ./configure --with-php-config=/usr/local/bin/php-config
    make
    make test
    sudo make install
    28

Các tiêu chuẩn chúng tôi đặt ra ở đây phải là mẫu số chung thấp nhất cho khả năng tương tác của trình tải tự động không gây đau đớn. Bạn có thể kiểm tra xem mình có tuân theo các tiêu chuẩn này hay không bằng cách sử dụng triển khai SplClassLoader mẫu này có thể tải PHP 5. 3 lớp

Thực hiện ví dụ

Dưới đây là một chức năng ví dụ để chứng minh một cách đơn giản cách các tiêu chuẩn được đề xuất ở trên được tự động tải

Chủ Đề