php

sanghun Lee·2020년 12월 11일
0

Today I Learned

목록 보기
58/66

흠..

과거 html의 복사 붙여넣기의 불행한 생산성으로 생겨났다고 생각하면 된다.

한글판 맥 기준 php의 서버 렌더 기준은
기본적으로 127.0.0.1이 나의 ip주소로 받아짐
:8080포트를 통해서 작성한 파일인 /test.php를 들어가면 됨

환경설정 변경

Applications(응용프로그램)/mampstack-7.4.xxx/php/etc/php.ini

를 통해서 php 환경설정을 변경할 수 있다.

opcache

성능은 좋아지나 수정결과가 즉각반영되지않아서 1(on) => 0(off)로 변경하자
파일 빠른변경위해 1-> 0 으로 변경

error

환경설정하고 php aphache를 껏다키자(켜질때 Ini 한번만 확인하기 때문임)

  • apache2/logs 에서 각종 접근이나 오류 로그들 확인가능

어떻게 작동하는가

php라는 프로그램 apache라는 서버를 통해서 작동한다고생각하면 됨!

php 확장명을 받으면 apache2/htdocs/index.php를 찾아서
해당 언어를 해석하여 화면에 렌더해준다

데이터타입

숫자


interger(정수) , float(부동소수)

print(1); == echo 1;

print나 echo로 화면에 출력이 가능하다

print(2-1) 하면 1로 나옴

알아서 계산되서 나오는 표현식이다.

문자열

문자열의 간단한 메서드(. AND strlen)

JS와는 다르게 String을 concat하려면 . 을쓰면 된다

console.log("HELLO"+"WORLD");
echo "HELLO"."WORLD";

console창에 나타내는 것이라 다른의미기는 하지만 출력을 이렇게 한다고 알면 좋을 것 같다.

변수

아래와 같이 호출 가능

<?php

$abc = 123 
echo $abc + 1

?>
// 결과는 124 이 출력된다

URL 파라미터

http://127.0.0.1:8080/parameter.php?name=egoing

parameter.php라는 어플리케이션에게 name 속성은 egoing이라는 입력값을 준 것이라고 보면 됨.

파라미터로 들어온 값을 <?php echo $_GET['name']; ?> 을 통해 그 값을 가져와서 render시켜버릴 수 있다.

$_GET 이라는 변수가 있다는 것과 그 변수의 값에 ['name']을 접근하면 URL의 해당 파라미터 값을 받을 수 있다는 것이다.


To be continued

함수

php 함수 만들기

<?php
	function foo(arg){
        return echo "$arg"
    }
?>

Parameter, Arguments

매개변수와 인자의 사용법을 알 수 있는 아래의 코드이다
JS랑 거의 유사하다

 <h1>Function</h1>
  <h2>Basic</h2>
  <?php
    function basic(){
      print("send Arg.");
    };
    basic();
  ?>
  <h2>Parameter & Arguments</h2>
  <?php
    // a & b -> parameter: 매개변수
    function sum($a, $b){
      print($a+$b);
      print("<br>");
    }
    // 2,4 && 4, 6 =>Arguments: 인자 입력값
    sum(2,4);
    sum(4,6);
  ?>

내장 Method

  • strlen() : string 길이(int) 반환해주는 메서드
  • var_dump(): data type과 값을 반환해주는 메서드이며 화면에 출력해줌
  • file_get_contents("data/".$_GET['id']) : file_get_contents 함수 통해서 파일 내부의 값을 들고 올 수 있다.
  • $_GET['id'] : id속성의 쿼리값을 가져올 수 있다.
  • isset(sth): sth의 여부에 따른 boolean값을 반환해준다

제어, 조건

  • if else 조건문이다
    조건문은 JS와 유사함
if(true) {
      echo '2<br>';
    }else{
      echo '3<br>';
    }
  • Sample
    scandir을 통해 directory내의 파일을 읽어온다음 while반복문을 통해 새로운 태그를 해당 갯수 만큼 넣어주는 코드이다.
  <?php
    $list = scandir('data');
    $i = 0;
    while($i< count($list)){
      if($list[$i] != '.'){
        if($list[$i] != '..'){
          ?>
          <li><a href = "index.php?id=<?=$list[$i]?>"><?=$list[$i]?></a></li>
          <?php
        }
      }
      $i = $i +1;
    }
  ?>

form & POST

form 태그로 감싸주고 action에 해당하는 파일로 하단의 input 밑 textarea에 대한 내용을 넘기고 url을 바꿔준다

    <form action="form.php">
      <p><input type="text" name="title" placeholder="Title" /></p>
      <p><textarea name="description"></textarea></p>
      <input type="submit" />
    </form>


Post

form 의 POST 메서드를 사용해서 서버쪽으로 데이터를 보내는 방법(URL 미변경)
URL을 변경해서 업로드 용도를 사용한다면 URL공유 시 업로드된게 보여버리니 문제가 생김

URL에 데이터를 넘길때는 GET방식인데 이는 북마크 용도로 적합함
데이터 추가 삭제 수정등에는 불필요한 방식 그래서 $_POST를 사용하고 파일로 저장이됨

    <form action="form.php" method="post">
      <p><input type="text" name="title" placeholder="Title" /></p>
      <p><textarea name="description"></textarea></p>
      <input type="submit" />
    </form>

CREATE

  • form, input 태그를 이용하여 post 메서드로 세부내용을 보낸다.(action 속성에 파일이름 넣기)
  • 해당 파일에 file_put_content 메서드를 통해 특정경로에 내용을 저장한다
  • header()메서드를 통해 redirection을 진행한다.
profile
알고리즘 풀이를 담은 블로그입니다.

0개의 댓글