라이트십 0.1.0 소개
11121 단어 webdevphpproductivity
시작 방법
이 모든 것은 트윗에서 시작되었습니다. 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 리포지토리를 살펴봐야 합니다. 다음을 배우게 됩니다.
이 패키지는 여러분의 지원과 피드백 없이는 살아갈 수 없기 때문에 여러분도 중요한 역할을 할 것입니다. v1에 대해 더 실용적으로 만들 수 있도록 의견, 개선할 점 또는 모든 제안 사항을 댓글로 알려주세요!
그것을 가지고 놀고 자신의 구현을 만들고 싶다면 계속 진행하십시오. RFC README에서 참조하겠습니다. 나는 이것이 당신의 프로그래밍 기술을 훈련하는 아주 좋은 방법이 될 수 있다고 생각합니다. 저는 PHP 구현을 하는 것이 너무 즐거웠습니다!
PHP 저장소: https://github.com/lightship-core/lightship-php
RFC 저장소: https://github.com/lightship-core/lightship-rfc
행복한 웹 감사 🤓
Reference
이 문제에 관하여(라이트십 0.1.0 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/khalyomede/introducting-lightship-010-3834텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)