Create a URL Shortener (Part 1) – PHP In Action

얘들 아 무슨 일이야? 이 비디오를 시작하기 전에 나는 사과하지 않고 싶었습니다 요즘에는 어떤 콘텐츠를 만들지 만 돌아 왔습니다

너 많이 알고 싶어 내가 좋아하는 Minecraft 비디오를 계속해서 너무 좋아해서 앞으로 갈 것입니다 그리고 그것들을 계속해라 그러나 내가 정말로하기 때문에 나는 새로운 시리즈를 시작하고 싶었다 프로그래밍 언어 PHP와 마찬가지로, 이미 많은 동영상이 PHP의 기본 인터넷에서, 그래서 내가 가서 건너 뛸 수있는 생각, 그리고 PHP를 이미 모르는 경우 YouTube의 멋진 채널에 대한 링크가 있습니다

여기서 당신은 기초를 배울 수 있습니다 따라서이 프로젝트의 기술은 PHP 객체 지향 프로그래밍을 활용할 예정입니다 일부 SQL 준비된 문을 사용하여, 나는 그것을 사용하는 방법을 살펴볼 것입니다 간단히 말해서, 당신이 정말로 그것을 알 필요가 없다는 것은 꽤 간단하다는 것입니다 나는 몇 가지 기본 htaccess를 사용하려고합니다

솔직히 복사 / 붙여 넣기는 매우 일반적으로 사용되는 htaccess이기 때문에 붙여 넣을 수 있습니다 파일 몇 가지 MYSQL을 사용하려고합니다 아주 기본적인 데이터베이스 일 뿐이므로 기본 사항 만 알고 사용자 사이트에서 많은 것을 알아야 할 필요가 있습니다

일부 자바 스크립트 이 부분은 선택 사항이며 더 쉽게 사용할 수 있습니다 따라서 이 상자에 링크를 붙여 넣으면 자동으로 버튼을 클릭하므로 그것은 JavaScript를 통해 이루어졌으며 jQuery를 사용하여 대신 AJAX를 사용할 수 있도록 구현하여 새로 고침 할 필요가 없습니다 페이지와 기타 등등 더 나은 사용자 환경이지만이 동영상은 엄격하게 적용됩니다

PHP 그래서 저는 더 깊이 들어가고 싶지 않았습니다 그래서 더 이상 신경 쓰지 않고, myURL에 소개 할 예정입니다이 기본 URL 단축키는 여기 링크를 클릭하면, 여기에 링크를 붙여 넣으면 앞으로 나아가고 단축됩니다 그것은 단지 JavaScript를 통해 수행되었으므로 클릭하지 않아도됩니다

AJAX 없음 익숙한 클릭하면 Google로 연결됩니다 이제 데이터베이스에 가면 당신이 그것을 볼 수 있듯이 나는 그것을 클릭하여 등록했다 그러면 다시 클릭하면 좋아요 클릭 카운터가 작동하는지 다시 확인할 수 있습니다 그럼 우리는 무엇을 가지고 있습니까? 데이터베이스에는 "id", "url", "alias"및 "clicks"가 있습니다 우리 코드에 관해서는 실제로는 꽤 간단합니다

이 동영상은 실제 동영상을 설정하는 것입니다 인프라가 필요하므로 기본 정보 만 살펴 보도록하겠습니다 당신은 URL을 생성합니다 나는 또한 북마크 렛을 가지러 가고있다 자바 스크립트, 아주 기본적인 자바 스크립트 (당신이 무엇을 의미하는지 알 필요도 없다) 링크를 클릭하면 URL을 짧게 할 수 있습니다

그게 북마크이고 그 다음엔 짧아 질거야 링크 괜찮아? 그래서 필자는 예제 파일을 가지고 갈 예정이므로 URL 그래서 그냥 열어 (나는이 모든 것을 열고 그냥 보여주고 싶어) "htaccess"- 나는 그걸 두 번째로 보게 될거야 당신이 config를 볼 수 있듯이 그것은 정직합니다

그다지 오래 멋진 기능이 정말 많습니다 마크 업입니다 웹 페이지의 경우에도 오래있을 필요는 없습니다 매우 간단합니다

실제로 진행되는 코드이며 단축됩니다 바로 거기와 오른쪽 상단에 있습니다 나머지는 모두 마크 업입니다 (원하는 마크 업 괜찮아요) 그런 다음 처리 파일을 가지고 있습니다 메인 클래스를 가지면 매우 복잡해 보이지만 실제로 그렇게 나쁘지는 않습니다

먼저 폴더를 만들어 보겠습니다 이것은 단지 어디에있을 것입니다 모든 파일 (아마도 도메인의 루트)을 유지하므로 새 폴더를 만들고이 URL을 기본 URL 단축키로 지정합니다 우리 프로젝트를위한 폴더가 생겨서 앞으로 나아갈 것입니다 데이터베이스를 작성하십시오

따라서 기존 데이터베이스에 대한 코드를 살펴보면 "id", "alias"및 "clicks"와 같은 기능을 추가 할 수 있으며 원하는만큼 많은 기능을 추가 할 수 있습니다 이에 이것은 단순한 기본 URL 축소 자입니다 그래서 당신이 볼 수 있듯이 "이드"는 길이가 11 인 정수,이 특정 URL은 "VARCHAR"이며 "255"및 "별칭"에 대해서도 "255"입니다 원할 경우 분명히 짧게 만들 수 있습니다

클릭 수를 늘려서 그 길이는 11의 정수이며, 이것들은 모두 "null"을 받아 들일 것입니다 그리고 그들은 자동 증가 할 부호없는 정수가 될 것입니다 다음을 제외하고는 기본값이 아무 것도 아닐 것입니다 "클릭" 그러니 계속 진행하십시오

그래서 PHPMyAdmin을 사용할 수 있습니다 이 작업을 수행하는 기본 MYSQL 쿼리를 사용하지만 나는 *라는 이름의 프로그램을 사용하려고합니다 * "SequelPro"와 내가 믿는 맥 전용 응용 프로그램입니다 그래서 나는 그냥 갈거야 새 데이터베이스를 만들려면이 "tutorial_url"을 호출 할 것입니다 좋아요

우리가 방금 이야기 한 구조를 만들어 보겠습니다 그래서 나는 "urls"라는 테이블을 만들려고합니다 이미 자동 증분 (내가 원하는 것)이고 또한 "URL"에 대해 새로운 것을 만들고 싶습니다 이것을 255의 VARCHAR로 만드십시오 좋아 보인다

기본값 – 원하지 않음 null, 나는 단지 비어 있기를 원했어 빈 URL 데이터가 없으므로 그다지 중요하지 않습니다 "별칭"우리는 길이 255의 VARCHAR가되기를 원합니다 그것도 null을 삭제하고, 지금은 클릭을 할 것입니다 나는 그것을 정수, 11로 설정하십시오

(아마 괜찮을 겁니다 클릭 수보다 많음) 기본값은 0으로 설정하려고합니다 아무도 링크를 클릭하지 않으면 0이어야합니다 분명히 있어야합니다

0입니다 음수 일 수 없으므로 저는 이것을 0으로 설정하려고합니다 이제 좋습니다 완료되면 모든 데이터베이스 구조가 완성됩니다 아주 간단하므로 이제 완료되었으므로 이제 설정 파일을 만들고 새로운 파일을 만들고 싶습니다

나는 이것을 "configphp"로 저장하려고한다 이것은 단지 그것을 만들 것입니다 우리 데이터베이스로 작업하기가 더 쉽습니다 그래서 몇 가지 상수를 만들려고합니다

여기에 내가 간다 * 화면의 텍스트보기 * 이것은 당신이 원하는 상수 일 수 있습니다 이런 식으로 읽기가 쉬워지기 때문에 내가 사용하려고하는 것은 그것이 더 잘 작동한다고 생각해 * 화면의 텍스트보기 * 내가 로컬에 잘 일하고 있기 때문에 나는 암호가 없다 어쨌든 많은 보안이 필요하지 않습니다

"BASEPATH"는 단지 기본 도메인이있는 위치가 될 것입니다 끝 부분에 슬래시를 넣지 마십시오 * 화면의 텍스트보기 * 좋아요 그래서 첫 번째 것이 당신 것입니다 호스트, 사용자 이름, 암호 및 도메인의 기본 정보가 포함됩니다

그래서 우리는 http://yourdomaincom을 입력하십시오 넣지 마라 끝에 슬래시를 치면 잠시 후에 보게 될 것입니다 이것이 바로 설정 파일입니다

그래서 다음 비디오에서는이 프로젝트의 클래스 파일을 만듭니다 모든 코드를 포함 할 것입니다 그 짐승은 길이가 150 줄과 같습니다 그렇게 나쁘진 않다 PHP 초보자라면 많이 좋아 보이지만 솔직히 당신이 그것을보고 단지 우리가하고있는 것을 연구하면, 모든 것이 만들어집니다

감각 그래서 다음 비디오에서 우리는 야수를 다루게 될 것입니다 그건 나쁘지, 정말로 그렇지 않아 좋아, 다음 튜토리얼에서 너희들을 잡을거야

#7 CodeIgniter 3.x Advanced Tutorial – Part 1 – Form validation on user registration form

사용자 등록 페이지를 사용하고 있습니다 이것은 사용자 등록보기 페이지입니다

사용자 등록을 위해 양식 유효성 검사 사용 등록을위한 양식 검증을 설정하십시오 양식 유효성 검사 규칙을 설정하십시오 is_unique 유효성 검사를 사용하기 전에 데이터베이스를 만들어야합니다 데이터베이스는 codeigniter 데이터베이스 설정 파일에 설정되어야합니다 데이터베이스 라이브러리를 자동로드 구성 파일에로드하십시오

이제 사용자 데이터베이스 테이블을 만듭니다 이제 is_unique [database tablecolumn] 유효성 검사를 사용할 수 있습니다 is_unique 유효성 검사에 대한 사용자 정의 유효성 검증 오류 작성 비밀번호 일치 확인 사용 첫 번째 양식 유효성 검사 라이브러리로드 이제 자동로드 설정 파일에 양식 유효성 검사 라이브러리를로드하십시오 유효성 검사 오류 표시 안 함 이제 모든 유효성 검사 오류를 표시하십시오

모든 유효성 검사 오류 표시 오류 템플릿 변경 변경 유효성 검증 오류 템플리트에이 메소드 사용 이 방법을 사용자 컨트롤러에 넣는다 오류 템플릿이 변경된 것을 볼 수 있습니다 오픈 부트 스트랩 4 경고 문서 오류 메시지에 부트 스트랩 4 경고 클래스 사용

Learn how to use maintenance mode with retry flag in Laravel | Part 2 | by Jaskaran

헤이 녀석 Jaskaran 여기이 비디오에서 나는 당신에게 재시도 기의 사용을 보여줄 것이다 유지 보수 모드에서는 예제를 통해 우리가 데이터베이스를 업데이트하여 데이터베이스를 업그레이드하고 있음을 사용자에게 보여줄 수있는 방법 우리는 메시지 태그 데이터베이스와 함께 PHP 숙련공을 사용하므로 메시지 플래그를 사용합니다 내 이전 동영상에서 링크를 보지 못했다면 설명에서이 비디오에서 나는 재시도 플래그의 사용을 보여줄 것입니다

재시도 플래그는 초 단위로 시간을 허용하므로 작업을 완료하는 데 1 시간이 필요한 경우 1 시간 3600 초를 통과해서 내가 들어 왔을 때 내 응용 프로그램이 현재 유지 관리 모드에 있으며 메시지를 볼 수 있지만 503bladephp로 가면 재시도 플래그를 사용할 수있는 방법을 보여줍니다 내 이전 비디오에서 예외 메시지를 볼 수 있습니다 이것은 전에 이렇게 선에서이었다 그러나이 영상에서 나는 이것을 안으로 창조했다 a 우리가 여기에 메시지를 보낸 후에 다시 시도 할 수 있도록 차단 했으므로 handler

php에서 메시지 섹션의 블록 섹션을 만들었습니다 이 변수를 덤프하여 현재 가지고있는 것을 확인하면 새로운 속성이 있습니다 willBeAvailableAt 그래서 탄소의 도우미 메소드를 사용할 수 있습니다 diffForHumans와 같이 더 읽기 쉽도록하기 때문에 정확히 새로 고침을하면 지금부터 58 분이 필요하므로 2 분 안에 이미 통과 했으므로 이것을 복사하고 우리가 어떻게 할 수 있는지 보여 드리겠습니다 우리의 관점에서 이것을 사용하여 사람들이 이 시간이 지나면 다시 시도하는 사용자에게 표시 할 시간입니다

나는 이것을 저장할 것이고 내가 정의하지 않은 변수를 새로 고침했다 e 그래, 변수 이름 바꾸기를 잊어 버렸어 이제는 업그레이드를 볼 수있다 메시지를 데이터베이스에 저장하고 지금부터 15 분 후에 다시 시도하십시오 사용자에게 58 분 안에 애플리케이션에 액세스 할 수 있음을 쉽게 보여줍니다 한 가지 더 제공하지 않으면 어떤 일이 벌어 지는지 재시도 플래그는이 경우 재 시도 플래그가없는 예제를 보자

새로 고침을하면 오류가 있음을 알 수 있으므로 항상 예외가 있는지 확인하십시오 에서 사용 가능해야합니다 이제는 이전과 같이 작동합니다 한 가지 더 많은 경우는 그 시간이 지나면 사용자에게 날짜 시간을 보여 주면 GT를 사용하게 될 것입니다 탄소 – 날짜 인스턴스 메서드의 방법은 그냥 그 것입니다 확인 현재 사용 가능한 날짜는 현재보다 커야합니다

이제는 탄소와 if를 사용합니다 나는 1 초로 재 시도하고 시간은 내가 이미 지나갔다고 생각한다 시간이 지났기 때문에 그 메시지를 볼 수 없기 때문에 그것을 볼 수 없습니다 그러나 우리가 올바른 길을 가고 있다면 메시지를 볼 수있는 충분한 시간이 있습니다 그렇습니다

우리는 두 가지 조건을 먼저 사용하고 있습니다 현재 날짜가 설정되어 있으며 그 상태에서만 현재보다 커야합니다 이 메시지는 시간이 경과 한 것처럼 이전 상태를 표시하지 않습니다 더 이상 사용하지 않을 것입니다 좋아,이 비디오에서 나는 당신에게 재시도 플래그의 사용을 보여 주었다

질문 및 코멘트 섹션을 작성할 수 있습니다 가능한 빨리이 비디오 녀석을 보아 주셔서 감사합니다

나의 첫번째 GraphQL서버 만들기 #12 Wrapping a REST API with GraphQL Part Two

schema에 필요 없는 건 다 지우고 resolvers에는 하나만 있어 DB에도 하나만 있고 여기서 할 건 movies이고 받을 건 id, 제목, 평점 등이 있네 id, 제목, 평점을 받자 다 괜찮아 클릭! null이 가능하지 않은 영역에서 null을 리턴 할 수 없습니다 내가 data를 리턴하지 않아서 그래 미안 이렇게도 할 수 있어 더 낫네 누르고 좀 기다리면 영화 정보를 줘 보이지 REST API를 GraphQL API로 감쌌어 그리고 내가 뭘 보고 싶은 지도 정할 수 있지 summary를 추가하자 내 인터넷이 겁나 구려서 그래 나왔다 요약본(summary) 좋아 이런 방식으로 Backend에서 URL들을 이용할 수 있어 그리고 이런 URL들을 이용하는 많은 client들도 만들 수 있어 오래된 서버를 가지고 있거나 GraphQL을 넣을 수 없다면 이런 식으로 하면 돼 데이터베이스 에서

뭔가 확인해보고싶어 먼저 URL을 만들고 위와 같이 입력 limit이 0보다 크면 요청한 url에 `limit=${limit}` limit이 0보다 크면 요청 URL에 해당 string을 추가할 거야 rating도 같은 식으로 하자 rating이 0보다 크면 요청 URL에 minimum rating을 추가 하자 `&minimun_rating==${rating}` 그리고 마지막에는 retrun fetch request URL 위와 같이 입력 난 fetch가 겁나 싫어 다음 강의에서 더 멋진 걸 보여줄게 이제 영원히 fetch는 안 쓸 거야 getMovies는 2개의 argument가 필요해 limit과 rating limit은 Int형이고 rating은 Float형 그리고 필수사항은 지워줄게, 필수사항이 아니야 위와 같이 입력 limit이 먼저지 그리고 rating 그리고 이건(_) 그냥 variable 이름이야 parent도 될 수 있고 root이 될 수도 있고 뭐든 난 그냥 _를 써 왜냐하면 이걸 안 쓸 거니까 저장, 제대로 되는지 확인해보자

새로고침얼마나 지났지? 좋아 limit? rating! rating은 Float형 이였지? 8

5 yeap! 아니 이거는 필요 없잖아 rating 85이상 뭐지? 안 좋은데 평점이 66, 64? 아냐 아냐 아 찾았다 바보 같았네 수정! == -> = 좋아 이제 제대로 돌아간다 이거 때문에 안 돌아갔던 거야 limit도 해보자 위와 같이 입력 기쁘다 기뻐~! 보다시피 멋진 API를 다음 코스에 쓸 것이기 때문에 여기서 조금만 더 확장할 거야, 모든 영화를 가져오는 것과 영화 하나를 가져오는 것 이걸 가지고 Frontend로 가자고 내 Reactjs 코스를 이수했는 지 모르겠네 거기서 같은 API로 영화 게시판을 만들었어 하지만 이번에는 fetch를 안 쓸거고 client에서는 훨씬 쩌는 GraphQL을 쓸 거야 이 코스는 여기까지야 GraphQL이 뭘 의미 하는 지 이해했길 바라고 어떻게 사용하는 지 알고 이게 얼마나 쉬운 지 알길 바래! 그리고 GraphQL에 빠졌으면 좋겠어 이게 뭐든지 엄청 빠르게 해주거든 네가 Django를 알고 Express를 알아도 네가 요청하고 정보를 보내는 정도까지 다다르려면 시간이 겁나 오래 걸려 Django에서는 Framework를 설치해야 하고 parse해야하고 app을 만들어야 하고 URL을 만들어야 하고 View를 만들어야 하고 여기서는 4개 파일이면 끝이야 index, schema, resolvers, 그리고 여기 있는 것들 다음 강의에서 보자고 질문 있으면 언제든지 물어보고

Learn how to use maintenance mode with message flag in Laravel | Part 1 | by Jaskaran

이봐 요,이 사람은 Jaskaran이고이 비디오에서는 laravel의 유지 관리 모드를 사용하면 일시적으로 응용 프로그램을 어떻게 할 수 있는지 보여 드리겠습니다 여기에 laravel을 설치하면 최신 버전 인 laravel 5

5를 볼 수 있습니다 녹음 할 때 나는 이렇게 보인 홈페이지를 가지고있다 약 2 개의 경로가 있으므로 약 1 개의 문자열 만 반환하면됩니다 응용 프로그램 열기 명령 프롬프트를 비활성화하는 방법을 보여줍니다 이제 명령 프롬프트로 이동하십시오

응용 프로그램의 루트 디렉토리 php artisan을 실행하고 잠시 기다리십시오 당신은 지금 당신이 당신의 페이지를 새로 고침 할 때 그렇게 간다 이제 다른 경로에 액세스하려고하면 응용 프로그램이 비활성화되어 있음을 의미합니다 내가 가지고있는 것처럼 나는 그것에 관해 접근 할 수 없다 그래서 나는 그것에 도착하기 전에 그렇게 접근 할 수 없다

페이지에 예외가 발생하면 보게 될 것입니다 이 페이지는 503bladephp로 변경할 수 있습니다 귀하의 요구 사항을 사용하여이 텍스트를 변경하는 방법을 보여 드리겠습니다

명령 프롬프트 그래서 당신이 메시지 플래그를 제공 할 수있는이 명령을 변경 이 메시지는 메시지를 제공하면 메시지가 표시됩니다 여기에 메시지를 제공하지 않으면 표시 할 기본 텍스트가 표시됩니다 당신도이 같은 명령으로 그렇게하는 방법 PHP 숙련공 메시지 플래그 및 업그레이드와 같은 자체 메시지 제공 데이터베이스 그래서 만약 당신이 지금 입력 히트 그리고 나는 지금 새로 고침을 때리지 만 볼 수 없다 텍스트를 바로 지금 보여 드리겠습니다 그래서 당신이 숭고한 방법으로 프로젝트를 열려면 어떻게해야합니까? 선택한 텍스트 편집기가 이제 기초 예외로 이동하므로 나는 숭고한 것을 사용하고있어서 글로벌 파일을 찾기가 매우 쉽다

search하지만 숭고하지 않은 경우 vendor / laravel / framework / src / illuminate / foundation / exception / Handlerphp에서이 파일을 찾을 수 있습니다 이 파일은 Handlerphp입니다 이 메소드는 현재 renderHttpException 메소드를 찾는다

유지 관리 모드의 뷰를 반환 할 책임이 있으므로 여기를 보면 여기에 대한 견해에 대한 응답을 받고 있지만이 견해를 반환하기 전에 이 $ e 변수를 찾으려고했다 그래서 지금은 저장하고 있습니다 그래서 새로 고침을하면 보호 된 건물에서 볼 수 있습니다 메시지가 저장되어 해당 메시지에 액세스 할 수 있습니다 getMessage ()를 사용해야합니다

예외 클래스의 메소드 당신은 이제 그 메시지에 접근 할 수있는 것을 볼 수 있습니다 503bladephp로 가면 메시지가 여기에 있음을 알 수 있습니다 하지만 당신은 자신의 메시지를 사용하기를 원한다

$ exception-> getMessage () $ 예외 -> getMessage () 메시지가 있는지 확인하십시오 그 메시지가이 기본 텍스트를 사용합니다 이 파일을 저장하면 새로 고침됩니다 이제 내 자신의 메시지를 사용할 수 있습니다 그래서이 시간 같은 메시지를 제공하지 않으면 나는 메시지없이 사용하고있다

다시 새로 고침하여 기본 텍스트가 표시되도록 할 것입니다 거기에는 매번 PHP 재 장작 재시도 플래그가 있습니다 이 다음 비디오, Stay Tuned에서 당신을 보여 드리겠습니다!

Exceptions – PHP Standard and Best Practices Part 18

마지막 비디오에서 우리는 PHP가 예외 라이트 인 방법을 설명하고 문제를보고하기 위해 선택적 오류 메시지 또는 오류 값을 사용했습니다 코어 자체는 예외를 많이 사용하지 않을 수도 있지만 코드에서 사용하려는 경우 사용할 수 있습니다 그리고 구성 요소 나 프레임 워크를 사용하여 확실히 실행하게 될 것입니다

잘못된 값을주는 문제는 실수를 찾고 문서를 확인하여 어떤 방법이 제공되는지 확인해야한다는 것입니다 오류 메시지는 매우 명확하게 만들기 위해 예외가 발생하는 것이 훨씬 낫습니다 함수에서 다양한 유형의 예외를 던질 수있는 방법을 살펴보고 PHP가 각각 다른 방식으로 반응하도록하십시오 작업 공간을 보면 여기에 몇 개의 파일이 있습니다 작곡가로부터 이미 알아야 할 것은, 우리는 인덱스 PHP를 엽니 다 여기에 꽤 많은 코드가 있지만 당황하지 마십시오

이 모든 것이 무엇을 의미하는지 설명하겠습니다 여기 3 번에 표시 오류가 있습니다이 오류는 이미 알고 있었기 때문에 오류를 인식하는 데 도움이됩니다 예기치 않게 우리는 벤더 자동로드 PHP를 포함합니다

그리고 이것이 우리의 새로운 코드가 시작되는 곳입니다 기본적으로 HTTP 다운로드 스크립트입니다 우리가 제공하는 URL의 본문을 다운로드 할 것인가? 여기에서 8 ~ 10 줄은 예외의 여러 유형을 정의합니다 핵심 예외 클래스를 사용할 수 있습니다 그러나 예외 클래스를 확장하여 자신의 예외를 정의하면 나중에 다른 유형의 예외를 쉽게 구별 할 수 있습니다

나는 여러 클래스와 함수를 같은 몸체에 정의함으로써 몇 가지 규칙을 깨뜨리고있다 보통 이들은 서로 다른 파일로 분리되어야한다 그러나 내가 규칙을 깨뜨린 것을 보여주기 위해 여기에 13 번 줄을 함께 던지십시오 우리는 함수를 정의하고있다 가져 오기라는 HTTP 본문이며,이 인수가 a 인 하나의 인수를 취합니다

다운로드하려는 URL의 문자열 값 15 행은 버즈 네임 스페이스 안에있는 browser라는 클래스를 인스턴스화합니다 이 패키지는 우리가 컬 확장 (curl extension)보다 훨씬 정교한 방식으로 HTTP 상호 작용 또한 컬 확장이 서버에 설치되어 있지 않아도이 작업에 의존 할 수 있습니다 16 행은 새로 인스턴스화 된 브라우저 객체를 사용하고 get 메소드를 실행하고 URL을 인수로 전달하면 응답이 객체이며이 응답 변수에 저장됩니다 18 응답 내용을 다운로드 중입니다 이것은 HTTP 본문 인 19 행의 실제 응답 HTML입니다

우리는 응답 객체를보고 상태 코드 메소드를 얻고 상태 코드 변수에 저장하면 21 행의 두 항목을 사용합니다 우리는 상태 그룹을 만들고 있습니다 변수와 상태 코드에 대한 문자열 작업을 수행하여 첫 번째 자리가 무엇인지 알아냅니다 이것은 우리가 코드를 얻으면 그것을 의미합니까? 400 그때 우리는 당신이 익숙하지 않은 경우에 대해서만 원합니다 HTTP 상태 코드 다른 의미의 코드가 많이 있다는 사실을 알고 첫 번째 숫자를 기준으로 이러한 코드를 그룹화 할 수 있습니다 예를 들어 코드를 얻은 경우 404는 누락 된 페이지를 의미하며 4로 시작하기 때문에 HTTP 클라이언트 오류임을 알 수 있습니다

HTTP 클라이언트는 웹 브라우저 또는이 경우에는 PHP 코드 일 수 있습니다 고객이 누락 된 페이지를 요청하기 때문에 우리는 그들이 엉망이되어서이 상태 코드 변수가 2 3 4 또는 5를 포함 할 수 있도록 말해야합니다 예외의 타입에 따라 우리는 외부 코드를 던진다 우리는 다르게 상호 작용하기를 원할 것입니다 스위치 요소에서이 상태 그룹 변수를 사용하면 다른 예외를 던질 수 있습니다 이것들은 또한 HTTP 규격을 기반으로하고 있습니다

HTTP 스펙을 완전히 이해하지 못한다면 그래서 우리는 상태 표를 보는 switch 문을 가지고 있습니다 그런 다음 상태 그룹에 포함될 수있는 각기 다른 잠재적 가치에 대한 사례가 있습니다 25 번째 줄에서는 값이 HTTP 사양에 따라 모든 것이 작동 함을 의미하는 두 가지 값으로 시작한다는 것을 알 수 있습니다 이는 우리가 계속해서 내용 변수를 반환 할 수 있고 27 행에서 예외가 필요 없다는 것을 의미합니다 우리는 코드가 리디렉션이 발생했음을 의미하는 세 가지로 시작한다는 것을 알고 있습니다

함수가 새로운 것을 던질 수 있다는 것을 알기 위해 함수 호출을 허용하려면 사람이 읽을 수있는 메시지와 함께 HTTP 리디렉션 예외와 여기에 29 번째 줄이 있으면 특정 상태 코드가 포함됩니다 코드가 4로 시작 했으므로 클라이언트가 잘못된 요청을했음을 의미합니다 31 행의 새로운 HTTP 클라이언트 예외를 여기에 던져서 알릴 수 있습니다 우리는 HTTP 사양에 따라 5 개의 코드로 시작합니다 설명은 서버 오류를 의미하므로 다른 사람이 읽을 수있는 문자열을 사용하여 HTTP 서버 예외를 발생 시키자

마지막으로 32 행에는 기본 경우가 있습니다 우리가 예상치 못한 일을 당하면 상태 그룹의 값으로 우리는 이상한 일이 무엇인지 알 수없는 일반적인 예외를 던질 수 있습니다 이제 나는 그것이 꽤 많이 들어갈 것이지만, 주된, 테이크 아웃 다른 유형의 예외가 다른 유형의 예외를 가지므로 예외는 예외에 따라 다를 수 있습니다 여기 39 행을 보면 다른 예외에 따라 다르게 반응하는 코드를 살펴 보겠습니다 가져 오기를 호출하는 것을 볼 수 있습니다

HTTP 본문에 직접 결과를 표시합니다 우리는 또한 문자열을 전달합니다이 문자열은 위에 정의 된 함수에서 URL 매개 변수로 들어갈 URL을 포함합니다 또한 38 행의 위 줄에 try 블록이 있습니다이 try는 던져지는 예외에 대해주의해야한다는 것을 의미하며 던져진 예외가 일치하면 이 4 개 중 하나는 여기에 있습니다

그 고양이 블록에있는 코드 조각이 실행됩니다 어떤 유형의 예외가 우리 오류의 결과를보고 던져 졌는지 알 수 있습니다 이 문자열이 앞에 붙어 있기 때문에 그러면 메시지를 출력하고 처음 3 개 정도의 경우에는 코드를 넣을 것입니다 printf가 어떻게 작동하는지 잘 모르겠다면 그것은 당신이 그것을 이해할 필요가있는 경우에는 문자열을 형식화하는 꽤 쉬운 방법입니다 그러나 이것들은 기본적으로 그래서 나는 우리가 스크립트를 실행하여 무슨 일이 일어 났는지 미리보기 아이콘에 표시 할 시간이 왔다고 생각합니다

그런 다음 예제 도메인을 봅니다 이것은 정확하게 우리가 여기 exampleorg에게 기대했던 결과입니다 그럼 지금 보는 똑같은 똑똑한 모습이야 이런 쓰레기 유로에 넣어 주면 해보 죠

나는 확실히 웹 사이트에 존재하지 않는다 그런 다음 우리는 새로 고침하고 완벽하게 할 수 있어야합니다 우리는 클라이언트 오류가 있고 코드 404는 앞에서 설명한대로 페이지가 없다는 것을 의미합니까? 우리 코드로 돌아가서 다른 방법으로 시도해 볼 수 있습니다 스트림을 열지 못했다는 일반적인 오류가 있습니다 이제 이것이 우리의 예외 중 하나는 아니지만,이 예외가 우리의 코드에 의해 잡히고 있습니다

buz 그들은 우리가 잡으려고하지 않은 일종의 예외를 던졌습니다 그러나 우리는 여기에이 포괄적 인 성명서가 있기 때문에 우리는 어쨌든 잡는 중입니다 이것은 우리가 코드의 특정 이벤트를 조사하고 그에 따라 반응하는 것을 보장 할뿐만 아니라 그러나 catch-all 블록을 사용하여 단순히 이러한 오류를 반복하지 않고 예상하지 못한 예외를 잡아냅니다 우리는 그것들을 사용하여 코드에서 유용한 것들을 할 수있다

HTTP 서버 예외가 연결을 다시 시도 할 수 있습니다 Haitch TTP 클라이언트 예외가 사용자에게 오류를 보내면 일반적인 예외로 인해 개발 팀의 누군가에게 전자 메일을 보낼 수 있습니다 여기에 요점을 개선해야 할 필요가있는 코드를 알리려면 구체적인 기대치에 반응해야합니다 특정 문제에 어떻게 대처할 수 있는지 매우 자세하게 설명 할 수 있습니다 거짓 반환 값을 찾고 나서 작동하지 않는 nope를 말하는 것보다 훨씬 더 유용합니다

예외는 머리를 감기는 데는 시간이 걸릴 수 있지만 매우 기본적인 수준입니다 사용자 정의 예외 클래스는 예외 범주처럼 사용되어야하며 특정 오류 메시지 및 코드는 추가 정보를 제공합니다 false가 좋거나 나쁘다면 해결하려고하는 것보다 훨씬 쉽습니다

Paypal checkout Laravel || Paypal Integration Effortlessly || E-commerce in Laravel 5.3 – Part 63

laravel 53에서 전자 상거래 웹 사이트 튜토리얼을 시작할 수 있습니다

오늘 나는 새로운 주제를 다룰 것이다 페이팔 결제 게이트웨이를 laravel에 통합하는 방법 이것을 구현하는 방법을 단계별로 배울 것입니다 우선 developerpaypalcom을 얻었습니다

과 귀하의 웹 사이트에 장바구니에 제품을 추가하십시오 카트에 두 개의 제품을 추가했습니다 이 제품은 충분히 재고가 없다 phpmyadmin에서 우선 재고 업데이트 너의 데이타베이스에 가라 및 제품 테이블 계산대에 가라 현재 우리는 대구 사만을 사용하고 있습니다

이 양식을 복사하십시오 체크 아웃 페이지에 표시해야합니다

Laravel file upload Update File dan Menghapus File Sebelumnya part 4

Assalamu'alaikum warahmatullahi wabarakatuh 이 자습서에서는 입장 할 것이다 laravel의 파일 업데이트 좋아, 당장 이 편집 버튼을 누릅니다

이미지 미리보기를 추가하려는 첫 번째 이미지 이 견해 그래서 우리는 즉시 텍스트 편집기를 열고 편집보기 파일을 엽니 다 여기에 우리가 추가 할 수 있습니다 이미지 이렇게하면 경로를 탐색하게됩니다 저장하다 브라우저에서 새로 고침 그럼 여기에 미리보기가있을거야 알았어

그 후에 컨트롤러 섹션에 들어갑니다 방법에서 이 업데이트 우물 업데이트를 저장하므로이 섹션을 복사 할 수 있습니다 여기에 붙여 넣습니다 그럼 여기에 우리가 추가합니다 미리보기 이미지 필드 우리는 미리보기 이미지 변수 브라우저로 돌아가십시오 우리는 파일을 선택한다 예를 들어, 나는 이것을 선택했다

우리는 게시 그럼 그 그림 바뀔 것이다 좋아, 여기서 문제는 우리가 파일을 편집 할 때이다 이전 파일이 삭제되지 않았습니다 폴더에 이제 이것은 매우 예를 들어 파일이 많은 경우 나중에 스토리지를 채울 것입니다 그래서 우리는 여기서 볼 수 있습니다 음,이 파일은 이전에 편집 한 파일입니다 이전 파일에서 이 이전 파일을 삭제하고 싶습니다

텍스트 편집기로 돌아갈 수 있습니다 잘 여기에 우리는 먼저 그것을 잡는다 데이터베이스의 게시물 값 게시물 미리보기 값 예를 들어 변수에 저장합니다 변수 이름이 오래되었습니다 이게 맘에 든다

그럼 우리는 스토리지를 사용할 수 있습니다 파일 시스템에서 저장 장치 이름 삭제 저장 용량을 삭제하십시오 그런 다음 우리는 이전 매개 변수를 제공합니다 이게 맘에 든다 그렇다면 코드의 목적 이것은 먼저 데이터베이스에서 데이터를 검색하려고합니다

그 후에 우리는 그것을 삭제한다 데이터베이스의 값은 파일입니다 앞에 또는 파일 이름 이전 파일이 삭제 된 후 그 후 우리는 새 것으로 업데이트한다

이런 미리보기 이미지 알았어 우리가 가지고있는이 스토리지 클래스를 사용하려면 먼저 저장소를 가져옵니다 여기 우리는 사용을 사용할 수 있습니다 저장 이게 맘에 든다 우리는 브라우저로 돌아 간다

우리는이 그림을 가지고있다 이 하나 편집하자 그림을 선택하십시오 예를 들면 그럼 그림이 바뀔거야 그럼 그 그림이 더 일찍 나온다 저장소에서도 삭제되었습니다

이 튜토리얼의 모든 내용은 공유를 좋아하고 CV 채널을 구독하는 것을 잊지 마십시오 동 시스템 Assalamu'alaikum warahmatullahi wabarakatuh

Understanding UTF8 – PHP Standard and Practices Part 7

인터넷상의 대부분의 텍스트는 특정 종류의 문자 집합에서 찾을 수있는 특수 비트 모음입니다 요즘 문자 집합은 유니 코드 전송 형식을 나타내는 utf-8 일 것입니다 a는 조금 다른 방식으로 물건을 저장하는 다른 유형의 UTF 문자 세트와 구별하는 것입니다 지난 10 년 동안 Utf-8은 가장 인기있는 문자 인코딩으로 다른 문자 세트에서 이어 받아 거의 모든 것에 적합 할 수 있습니다

텍스트로 삽입하려는 문자 utf-8은 국제 문자 기호 및 이모티콘과 같은 모든 유니 코드 문자를 처리 할 수 ​​있습니다 멋진 지원 여부 이모티콘은 Zed 범위를 벗어난 기본 문자 외의 다른 문자를 지원하지 않는 사용자에게 중요합니다 응용 프로그램이 미국이나 영국과 같은 어딘가에서 실행 되더라도 많은 사람들이 이름에 특수 문자가 있으며 악센트 부호가있는 문자 및 키릴 문자와 같은 것을 지원하려면 utf-8이 필요합니다 PHP는 utf-8 컨텐츠와 함께 작동하며 더 쉽게 사용할 수있는 더 많은 기능을 제공합니다 그러나 그 기능의 상당 부분은 MB가 아닌 기본 확장자로 숨겨져 있습니다

우리가 MB 문자열로 작업하기 전에 문자열 사용하도록 설정해야합니다 인덱스 도트 PHP를 열어 보겠습니다에 3 행 우리는 핵심 함수 인 PHP info를 호출합니다이 함수는 설치 및 사용 가능에 대한 정보를 포함하여 모든 종류의 유용한 정보를 화면에 출력합니다 모듈들 exit 문에 대해 온라인 상태로 스크립트의 전체 실행에 사용되고 있으며이 코드의 나머지 부분은 실행되지 않습니다 우리는 잠깐 후에 그것을 얻을 것입니다 눈 아이콘을 클릭하여 스크립트를 미리보고 PHP 정보가 우리에게 보여주는 것을 보자

브라우저에서 찾기 기능을 사용하는 경우 NB 문자열을 입력 할 수 있습니다 이 첫번째 부분은 아닙니다 이것은 우리가 여기에서보고 싶은 것입니다 MB 문자열 섹션이 누락되었거나 사용 중지 된 경우 사용하도록 설정해야하지만 다행스럽게도 우리에게 적합합니다

작업 공간에서 항상 활성화됩니다 작업 영역으로 돌아가서 3 ~ 4 행을 제거하고이 코드의 나머지 부분을 Line 6 우리는 MB internal encoding이라는 함수를 호출합니다 우리는 우리의 인코딩의 이름을 가진 문자열 인수를 전달합니다이 경우 인코딩은 utf-8입니다

이렇게하면 MB 문자열 확장자에서 어떤 문자 인코딩을 알 수 있습니다 7 호선에서 작업하고 싶습니다 MB라는 함수를 호출합니다 HTT 출력 및 다시 한 번 utf-8을 포함하는 인수로 문자열을 전달합니다이 작은 MB 문자열은 HTML이 utf-8로 출력된다는 것을 알고 있습니다

이 두 줄은 지나친 것처럼 보일 수 있습니다 하지만 utf-8 행 9로 작업 할 때 string에 대한 문자열 변수 인 경우에 편리합니다 ASCII로 존재하지 않지만 여기 11 행의 utf-8에 존재하는 악센트 부호가있는 문자로 가득합니다 헤더 함수를 사용하여 HTTP 헤더를 수동으로 설정합니다 헤더는 이름과 값으로 콜론과 이 경우 콘텐츠 유형을 텍스트 HTML로 설정합니다

어쨌든 그것은 기본 헤더입니다 그러나 여기에 커서 utf-8을 설정하여 추가 속성을 추가하고 있습니다 우리는 HTML을 따르는 브라우저를 브라우저에 알려주고 있습니다 이것은 utf-8이 될 것입니다 – 마지막으로 제목과 본문이있는 기본 HTML 페이지를 출력합니다 여기에는 두 개의 단락이 포함되어 있습니다

첫 번째 단락은 문자열의 대문자 버전을 출력하고 두 번째 단락은 문자열의 길이를 출력합니다 브라우저를 새로 고침하고 새로 고침 할 때 어떤 일이 일어나는지 보도록하겠습니다 이제이 결과는 PHP가 문자열을 대문자로 만들려고 최선을 다하고있는 약간 재미 있습니다 그러나 유니 코드가 아닌 문자의 경우 만 변경할 수 있습니다 이 문자열의 길이를 물어 보면 유니 코드 문자는 PHP를 혼란스럽게 만들 것이고 실제 문자열보다 더 긴 문자열로 생각할 것입니다 실제로이 문자열은 PHP가 생각하는 인간의 36 문자 길이입니다

우리는 mb 확장 함수를 사용하여 이것을 아주 쉽게 고칠 수있다 여기서해야 할 일은 앞에 mb를 추가하는 것뿐입니다 그리고 거기에 우리가 간다 지금 정확하게 36 문자이고 모든 문자가 ASCII 문자뿐만 아니라 대문자입니다 거의 모든 핵심 문자열 함수에 대해 mb 문자열 교체 기능이 있으므로 앞에 mb를 눌러보십시오

그러면 작동합니다 이렇게하면 PHP에서 utf-8로 작업하게됩니다 하지만 일단 데이터베이스와 상호 작용을 시작하면 utf-8로 설정해야합니다 PHP가 어떻게 작동하는지 조금씩 볼 수있는 올바른 방법을 방문하십시오 다음 단계로 넘어 갑시다