라이트십 0.1.0 소개

11121 단어 webdevphpproductivity
안녕하세요. 제 최신 오픈 소스 프로젝트인 Lightship PHP를 소개하는 새 기사에 오신 것을 환영합니다.
  • How it started
  • Doubts
  • Usage example
  • What's next?

  • 시작 방법



    이 모든 것은 트윗에서 시작되었습니다. Laravel 커뮤니티에 사람들이 자신의 경로에 대한 Google Lighthouse 보고서 실행을 용이하게 하는 명령줄 도구에 관심이 있는지 물었습니다.









    안와르


    @anwar_nairi






    커뮤니티, 관심이 있으십니까? 👀내 앱용으로 만들었는데 디테일이 부족하고 무거운 WIP 🚧


    오후 12:04 - 2022년 1월 17일









    이 트윗은 댓글 섹션을 자극했고 커뮤니티를 위한 패키지 만들기를 시작할 의지를 주었습니다.

    의심



    마치 내가 패키지 사용자가 된 것처럼 도전하는 것을 좋아합니다. 그래서 나는 패키지가 사용하기 쉬운지 스스로에게 물었고, Google 크롬을 헤드리스로 설치하고 내 패키지에서 호출할 수 있도록 설정하는 데 몇 시간을 보냈습니다(저는 Docker를 사용합니다).

    이것이 제가 이 프로젝트의 성공을 다시 생각하게 만든 첫 번째 일이었습니다.

    동생과 약간의 대화를 나눈 후, 우리는 좋은 토론을 하고 이러한 대화는 항상 제 자신에게 계속 도전할 수 있는 좋은 피드백을 제공하기 때문에 다음과 같은 상상을 하기 시작했습니다.

    What if we did not had to use a web browser to get a web page audit?



    그래서 순수한 HTTP 호출을 사용하여 몇 가지 프로토타입을 만지작거리기 시작했고 좋은 결과를 얻기 시작했습니다. 나는 첫 번째 작업 버전을 마무리하려고 했고 Discord에서 내 형제에게 그것을 발표했을 때 이것이 계시였습니다.

    감사는 꽤 빨랐고 우리는 RFC와 Node 및 PHP를 위한 일부 구현뿐만 아니라 조직(기사 끝에 있는 링크)을 만들기 시작했습니다.

    사용 예



    내 최종 목표는 Laravel 공개 경로를 신속하게 감사하여 내 순위를 최적화할 수 있는 최고의 점수를 얻었는지 확인하는 도구를 갖추는 것이기 때문에 PHP를 고수합니다.

    Lightship PHP는 PHP 8.1 이상을 지원합니다. 설치 및 사용법은 매우 간단합니다.

    패키지 설치



    먼저 패키지를 프로젝트에 요구하여 시작합니다.

    composer require lightship-core/lightship-php
    


    스크립트 만들기



    PHP 파일을 만들고 다음 코드를 삽입합니다.

    use Lightship\Lightship;
    
    require __DIR__ . "/vendor/autoload.php";
    
    $lightship = new Lightship();
    
    $lightship->route("https://example.com")
      ->route("https://google.com")
      ->route("https://news.google.com")
      ->analyse();
    
    file_put_contents("report.json", $lightship->toPrettyJson());
    


    스크립트 실행



    이제 터미널에서 이 명령을 실행하기만 하면 몇 초 후에 각 URL에 대한 점수 및 결과와 함께 새 파일 "report.json"이 나타납니다.

    php index.php
    


    "report.json"은 다음과 같습니다.

    [
      {
        "url": "https:\/\/example.com",
        "durationInSeconds": 0.32,
        "scores": {
          "seo": 50,
          "security": 25,
          "performance": 100,
          "accessibility": 50
        },
        "seo": [
          {
            "name": "titlePresent",
            "passes": true
          },
          {
            "name": "langPresent",
            "passes": false
          },
          ...
        ],
        "security": [
          {
            "name": "xFrameOptionsPresent",
            "passes": false
          },
          {
            "name": "strictTransportSecurityHeaderPresent",
            "passes": false
          },
          ...
        ],
        "performance": [
          {
            "name": "textCompressionEnabled",
            "passes": true
          },
          {
            "name": "noRedirects",
            "passes": true
          },
          ...
        ],
        "accessibility": [
          {
            "name": "metaViewportPresent",
            "passes": true
          },
          {
            "name": "useLandmarkTags",
            "passes": false
          },
          ...
        ]
      },
      ...
    ]
    


    무엇 향후 계획?



    나는 계속해서 너희들에게 더 많은 것을 주고 싶다!

    멋진 콘솔 보고서와 함께 이를 자동화할 수 있도록 다음 날 Laravel 패키지를 만들 것입니다.

    또한 Lightship PHP용 PHP 리포지토리를 살펴봐야 합니다. 다음을 배우게 됩니다.
  • 스크립트를 실행하고 콘솔 보고서를 직접 표시하는 방법
  • 더 많은 기능(예: 쿼리 문자열 및 기본 도메인 지원)이 포함된 lightship.json 구성 파일을 사용하는 방법

  • 이 패키지는 여러분의 지원과 피드백 없이는 살아갈 수 없기 때문에 여러분도 중요한 역할을 할 것입니다. v1에 대해 더 실용적으로 만들 수 있도록 의견, 개선할 점 또는 모든 제안 사항을 댓글로 알려주세요!

    그것을 가지고 놀고 자신의 구현을 만들고 싶다면 계속 진행하십시오. RFC README에서 참조하겠습니다. 나는 이것이 당신의 프로그래밍 기술을 훈련하는 아주 좋은 방법이 될 수 있다고 생각합니다. 저는 PHP 구현을 하는 것이 너무 즐거웠습니다!

    PHP 저장소: https://github.com/lightship-core/lightship-php
    RFC 저장소: https://github.com/lightship-core/lightship-rfc

    행복한 웹 감사 🤓

    좋은 웹페이지 즐겨찾기