PHP 속성 강좌: 요구사항, 포함, 파일 작업 및 열거

오늘은 PHP의 조건, 주기 및 함수 변환을 학습합니다.
이 PHP 속성 과정은 무료이며 dev.to에 발표될 것입니다.나는 이틀 간격으로 새로운 문장/게시물을 한 편씩 발표할 것이다.어떤 것도 놓치지 않기 위해 트위터에서 나를 지켜볼 수 있다.

요구 사항 및 포함


지금까지 모든 테스트를 위한 PHP 파일만 만들었습니다.
프로그램을 만들 때 거의 항상 반대입니다.곧, 우리는 코드를 여러 파일로 나누거나 구성해야 한다.
다른 파일에 정의된 코드를 실행할 수 있도록 두 가지 명령을 볼 수 있습니다.
이를 위해 두 개의 파일을 만들 것입니다.첫 번째 이름의 메시지입니다.다음 코드를 작성합니다
<?php

function sendMessage(string $message)
{
    echo $message . '<br>';
}
이것은 단순에서 온 간단한 코드입니다.메시지와 줄 바꿈의 작은 기능을 표시합니다.
그리고 두 번째 index라는 파일을 만듭니다.다음 코드를 작성합니다
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <?php
        require 'message.php';
        sendMessage('Hello World');
    ?>
</body>

</html>
이 예에서 우리는 Require 명령을 발견했다.그것은 메시지를 포함하는 코드를 허용한다.php 파일.따라서 함수sendMessage() 사용 가능
매개변수로 지정된 파일이 존재하지 않으면 어떻게 됩니까?이 경우 PHP는 오류를 반환합니다.

명령 포함


Require 명령과 똑같은 동작을 수행할 수 있습니다. 다만 포함할 파일이 존재하지 않으면 PHP는 오류를 되돌려주지 않습니다. (경고만 되돌려줍니다.)

한 번 요구하다


이 지령들은 자매 함수 (require와include) 와 같다.PHP는 파일이 포함되어 있지 않은 경우에만 파일을 포함할 수 있습니다.

파일 및 폴더 작업


PHP에는 서버의 폴더와 파일을 조작하는 몇 가지 함수가 포함되어 있습니다
다음은 매우 유용한 함수들이다

파일 만들기


file_put_contents("test.txt", "Hello World!");
이 함수는 테스트를 만들 것입니다.현재 폴더에 있는 "Hello World"컨텐트를 포함하는 txt 파일입니다.
폴더를 지정할 수 있습니다.
file_put_contents("data/test.txt", "Hello World!");
폴더가 없는 경우 PHP는 경고를 반환합니다.
mkdir 함수를 사용하여 폴더를 만들 수 있습니다
mkdir('data');

file_put_contents("data/test.txt", "Hello World!");
폴더를 삭제하려면 rmdir () 함수를 사용할 수 있음을 주의하십시오.폴더를 삭제하려면 비어 있어야 합니다.
현재 폴더의 부모 폴더에 파일을 만들려면 콜론을 사용합니다.
file_put_contents("../test.txt", "Hello World!");
파일이 상위 폴더에 생성됩니다.
파일이 이미 존재하는 경우 파일 컨텐트 기능이 기존 파일을 대체합니다.대상이 기존 파일에 첨부된 경우 file append 옵션을 사용합니다.
file_put_contents("test.txt", "Hello World!", FILE_APPEND);

문건을 읽다


$content = file_get_contents("test.txt");
파일이 없는 경우 PHP는 경고를 반환합니다.
파일이 있는지 확인하려면 file exists() 함수를 사용합니다.
if (file_exists('/posts/first.txt')) {
  // do some stuff
}

한 줄씩 파일을 읽다


마지막 함수는 파일을 한 번에 읽을 수 있도록 합니다.한 줄 한 줄 읽는 기능이 있다.
$file = fopen("test.txt", "r");

while(! feof($file)) {
  $line = fgets($file);
  echo $line. "<br>";
}
fclose($file);
여기서 'r' 옵션을 사용하여 파일을 열어 읽습니다.
파일 끝이 감지될 때까지 코드 블록이 계속 실행됩니다.

한 줄씩 파일에 쓰기


$file = fopen('export.csv', 'w');
여기에서 'w' 옵션을 사용하여 파일을 열어 만들거나 덮어씁니다.만약 우리가 추가하고 싶다면, 우리는 옵션 "a"를 사용하여 추가할 수 있습니다
파일을 연 후 행을 삽입할 수 있습니다.
$array = [
    ['name' => 'Mike', 'age' => 45],
    ['name' => 'John', 'age' => 38],
]

//Write key name as csv header
fputcsv($file, array_keys($array[0]));

//Write lines (format as csv)
foreach ($array as $row) {
    fputcsv($file, $row); 
}
fclose($file);
함수의 역할은 줄에 쓰기이다.여기서 우리는 자매 함수 fputcsv () 를 사용했는데, 그 기능은 기본적으로 같지만 csv 형식이다.
순환하기 전에 fputcsv를 사용했습니다.이 줄은 파일의 첫 번째 줄입니다. 열 이름을 포함해야 합니다.array keys() 함수를 사용하면 배열 키의 이름(이름과 나이)을 검색할 수 있습니다.

매거


열거나 열거는 지정한 값의 가능한 값으로 제한되는 개성화된 '유형' 을 정의할 수 있습니다.열거는 대상의 한 유형이기 때문에 사용할 수 있는 모든 곳에서 사용할 수 있다.
다음은 하나의 예이다
// Définir le nom et les valeurs posssible
enum InvoiceStatus
{
    case Sent;
    case Paid;
    case Cancelled;
}
이 선언에서 작성된 InvoiceStatus 유형에는 세 개의 값만 있을 수 있습니다.
청구서 상태::발송됨
청구서 상태::지불됨
청구서 상태::취소
유형 힌트가 있는 함수에서 이 유형을 사용할 수 있습니다
function printInvoiceStatus(InvoiceStatus $status)
{
    print($status->name);
}

printInvoiceStatus(InvoiceStatus::Sent);
// Sent
name 속성 검색 사례의 이름
각 케이스에 대한 값을 연결할 수 있습니다.이렇게 하려면 열거를 설명할 때 종류를 지정해야 합니다: ex.enum Invoice Status: int
매거에 방법을 추가할 수도 있다
enum InvoiceStatus : int
{
    case Sent = 0;
    case Paid = 1;
    case Cancelled = 2;
}

print(InvoiceStatus::Paid->value);
value 속성은 "사례"와 관련된 값을 검색할 수 있습니다
대상처럼 매거에 방법을 추가할 수 있다
enum InvoiceStatus : int
{
    case Sent = 0;
    case Paid = 1;
    case Cancelled = 2;

    public function text() : string
    {
        return match ($this) {
            self::Sent => 'Sent',
            self::Paid => 'Paid',
            self::Cancelled => 'Cancelled'
        };
    }
}

function getInvoiceStatus(InvoiceStatus $status)
{
    print($status->text());
    print($status->value);
}

getInvoiceStatus(InvoiceStatus::Paid);
// Paid1
이 방법은 키워드self: 열거된 "case"에 접근할 수 있습니다.
마지막으로, 모든 값은 ex 함수를 호출할 수 있다.청구서 상태→텍스트()

결론


오늘은 여기까지, 나는 이틀 간격으로 새로운 문장을 발표할 것이다.어떤 것도 놓치지 않도록 트위터에서 지켜봐 주세요.

좋은 웹페이지 즐겨찾기