ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Step 3-1. Server side language PHP chap 1.
    2020/<programing> <coding> 2020. 3. 23. 01:23

    1. PHP 환경설정

    https://youtu.be/yMgQgzHdQ7w 

     

    display_errors = Off 를 On 으로, 

    실제 서비스를 할 때는 Off를 권장.

    각종 중요한 데이터들이 유출될 수 있기 때문

     

    opcache = 1 을 0 으로

    켜져있으면 파일의 리로드가 바로 적용되지 않는등의 불편한 환경이 발생, 

    성능을 올리는 설정이기 때문에

    실제 서비스를 할 때는 On (1) 을 권장

     

     

     

    2. PHP의 원리

    https://youtu.be/ObrMbYq9DC4

     

    여기서 사용하는 web server 는 apache

     

    ex) reload 할 때 마다 현재시간이 바뀌는 동적인 웹페이지를 만들 수 있는 언어.

     

     

    추가, 

    bitnami MAMP 프로그램에서

    MySQL 서버가 켜지지 않는 문제발생, 

    서버 이벤트 페이지를 봐도 에러등의 이유를 확인할 수 없었다.

     

    이것저것 눌러보다가 

    configure를 눌러보니 포트가 3306으로 설정되어있는것을 발견,

    원래 설치되어 있던 MySQL workbench 프로그램에서 localhost port를 3360으로 설정해 둔 것이 기억나서 

    포트넘버를 3360으로 변경한 뒤 

    database 서버 동작!

     

    포트번호를 3360으로 변경했더니 3306으로 시작되는 이유는 아직 잘 모름. (무책임)

     

     

     

     

     

    3. PHP 데이터타입

    https://youtu.be/11-nKsKhEkY

     

    수업에 대한 설명, 
    PHP는 어떤 형식으로 데이터를 처리하는가.

     

    PHP와 숫자

    https://youtu.be/-0LAb1Yvdq4

     

    php 출력명령

     

    echo ;

    print();

     

    php 에서는 "." 을 이용해서 문자열을 연결한다.

     

    문자갯수를 알 수 있는 함수

    strlen();

     

     

    4. PHP의 변수

    https://youtu.be/2EIH5Lbfavc

     

    변수이름 앞에 $가 붙음

    변수선언자 : $

     

     

    5-1. URL 파라미터

    https://youtu.be/73RCtVNZM4E

    파일명 parameter.php

     

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

    위의 url에 name값의 변화면 주면

    <?php echo $_GET['name']; ?>  //꼭 name 아니어도 됨

    위코드에 의해 

    원하는 값이 출력이 된다. 

    이것은 나중에 로그인 시 환영메세지를 띄우는 용도 등으로 사용할 수 있겠다.

     

    또 뒤에 &를 붙이면 

    http://127.0.0.1:8080/parameter.php?name=arbez&country=egnland

     

    여러가지 내용을 출력할 수 있음

     

     

    5-2. URL 파라미터 활용

    https://youtu.be/gfEry-zN3CU

    <?php

    echo $_GET['id']; 

    ?>

     

    이곳에서는 url의 파라미터값을  'id' 로 받아들여서, 동적인 출력을 가능하게 함

     

    위 코드를 이용해서 소제목 h2를 동적으로 바꾸는 역할을 할 수 있게됨

     

     

    6-1. 함수의 사용

    https://youtu.be/IIU4mypKLlw

    file : function.php

     

    함수를 사용하는 방법에 대한 간단한 설명

     

    nl2br함수, 

    원본 그대로 줄바꿈 해서 출력해주는 php 함수

    그냥 echo는 줄바꿈을 무시하고 출력함.

     

     

    6-2. 함수의 활용

    https://youtu.be/FLBGEoiv7bE

     

    각 파일의 내용을 html로 불러오기 위함,(파이썬에서도 이렇게 시작했었음)

     

    read file function

    >>file_get_contents(//파일경로)

     

    위의 함수는, 우리가 설정해 준 경로에서 파일을 찾아서 내용을 보여주는 함수지만, 

    보안 등의 문제가 고려되지 않았기 때문에 현실에서 사용하기는 힘들다.

    또, 아직은 id값을 하나하나 지정해주어야 하는 불편함이 존재함

     

     

    7. 제어문 예고

    https://youtu.be/AMN_UPvEr1U

     

    프로그램의 본질인 작업과, 시간의 순서에 대한 개요, 설명

    중복을 제거하기 위한 조건과, 반복문

     

     

    8. 조건문 예고

    https://youtu.be/Kfb8N_OdQEY

     

    파이썬과 같은 맥락으로 진행되는 강의.

    id값이 없을 때 홈화면을 구성하는 방법에 대한 예고

     

     

    9. Boolean과 비교연산자

    https://youtu.be/510Wp9CjtTk

    file : comparison.php

     

    어떤 문법으로 쓰이는지만 파악하면 될듯 하다.

    var_dump() 함수 : ()내부의 입력값을 출력할 뿐만 아니라, 자료형까지 알려줌. 실 서버에서는 쓸 일이 없지만, 

    개발하는 동안에는 많이 사용됨

     

    다른언어에서는 못 보던 함수.

    bool에 대한 간략한 설명. 빠르게 스킵

     

     

    10. PHP조건문의 형식

    https://youtu.be/ZvhFgNsufHg

    file : conditional.php

     

    if, else, else if 에 대한 설명

    php에서는 어떤 문법으로 사용되는지만 파악하면 될 것 같다.

     

    보다보니 여타의 언어랑 문법이 같음

    if(){

     

    }

     

     

    11. PHP조건문의 활용

    https://youtu.be/U_kj_IlbH20

    file : index.php

     

    메인페이지, 즉 index.php 화면은 

    id값이 없고, 그렇기 때문에 

    file_get_contents() 함수가 가져올 내용이 없어서 오류 발생, (다른 게시글들은 정상작동중)

    id값의 존재여부에 따라 메인내용을 가져올 제어문이 필요

     

    isset() 함수내부의 값이 존재할 때(선언은 되어있을 때) true return

     

    즉 경로에 파일이 있을 때와 없을 때, 

    값이 존재할 때 선언을 쉽게하는 함수 isset()의 존재를 파악할 수 있음

     

     

    12. PHP 반복문 예고

    https://youtu.be/67os8K-ChEE

    file : index.php

     

     

    반복문에 대한 간단한 설명.

    조건문과 마찬가지로 어떤 문법으로 사용되고 

    어떤 유용한 함수들이 있는지 파악

     

    data 폴더에 있는 파일의 목록을 가져와서

    그 목록 하나하나를 li, a 태그를 이용해서 글목록을 생성하는 코드가 필요

    즉 게시글을 작성하면 알아서 게시판으로 가져오는 코드가 필요!

    >> 컨텐츠를 관리하는 것에만 신경을 집중해서 사용할 수 있다.

     

     

    13. PHP 반복문 형식

    https://youtu.be/Nlz04vYZtcI

    file : loop.php

     

    while에 대한 설명, if 문법에서 확인 했듯 while 또한 다른 언어들과 같을듯?

     

     

    14. PHP 배열의 형식

    https://youtu.be/5jl6ajMrCW8

    file : array.php

     

    php언어에서 변수를 설정하는 기호는 $.

    $a = array('a','b','c','d');

    count($a); 배열의 크기를 알려줌

    array_push($a,'e','f'); 배열에 데이터 입력,

     

    배열중간, 처음, 끝등 원하는 위치에 데이터를 입력, 삭제, 수정등 할 수 있으며,

    필요에 의해 검색해서 적용시켜볼 것

     

     

    15-1. PHP 반복문과 배열의 활용

    https://youtu.be/x2EGMVsavIg

    file : index.php

     

    php get file list in directory 기능을 우선 구현

     

    함수 : array scandir(string 'direct route') >> cli 인터페이스에서 ls 명령어와 비슷한 기능

    index.php 라는 파일이 존재하고있는 '현재' 디렉토리 >> ./

    부모/상위 디렉토리 >> ../

     

     

    scan('./data'); 함수를 통해

    data 디렉토리의 파일의 이름을 배열에 담아서 가져옴.

    위의 내용을 봤을 때

    0, 1 번은 ., ..으로 고정되고 2번 배열부터 순서대로 파일명을 가져오는 기능까지 구현

     

     

    15-2. 반복문과 조건문의 활용 2

    https://youtu.be/x2EGMVsavIg

    file : index.php

     

    파일 디렉토리에 있는 파일들의 값을 가져와서 출력하고, 파일의 갯수가 늘어나거나 줄어들어도 그대로 적용시키기

     

    <?php

    $list = scandir('./data');

    $a = 2;

    while($a<count($list)){

      echo "<li><a href=\"index.php?id=$list[$a]\">$list[$a]</a></li>";

      $a = $a + 1;

    ?>

    이 코드를 사용하면 ., .. 파일을 무시하고 3번째 파일부터 불러오기 가능 

     

    15-3. 반복문과 조건문의 활용 3

    https://youtu.be/dOWhji4PY2k

     

    file : index.php

     

    ., .. 파일을 물리적인 무시가 아닌, 프로그래밍적으로 해결하기

    ., .. 인지만 확인하면 됨

    if문의 != 비교연산자를 이용하면 굳

     

    $a = $a + 1; 

    이 코드가 if($list[$a] != '.'){

     

    }

    if 문 안에 들어가니까 무한로딩이 되는데,

    그 이유를 살펴보니

    ....??

     

    $a = $a + 1;

    이 코드가 중복된 if 문에서 빠져나가지 못한다. 정도로 일단 이해를 하고 넘어가면 좋을듯 하다.

    '2020 > <programing> <coding>' 카테고리의 다른 글

    Step 3-2. Server side language PHP chap 2.  (0) 2020.03.28
    step 2-2. database 언어 chap 2.  (0) 2020.03.21
    step 2-2. database 언어 chap 1.  (0) 2020.03.15
    step 2.  (0) 2020.03.13
    step 1.  (0) 2020.03.13

    댓글

Designed by Tistory.