PHP 프로젝트를 이용할떄 Composr 를 이용해서 본인이 사용한 작성한 클래스를 불러와 사용하는 방법에 대해 서술한다. 


절차:


0. composer 설치및 composer init

1. PSR-4 표준에 맞는 폴더구조로 클래스파일과 함께 생성 (이때 네임스페이스에 주의한다)  

2. composer.json 에 폴더 연결 

"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php",
"tests/PassportTestCase.php"
],
"psr-4": {
"Tests\\": "tests/"
}
},

3. composer auto-dumpload 를 하면 클래스 위치들을 맵핑해주는 파일이 자동 생성된다.

4. 클래스를 사용하고자 하는 파일에서 autoload.php 파일 로드


** 주의점:

1. 클래스명과 파일명이 일치

2.한파일에는 클래스 하나만 존재


예제 파일구조를 본다

src

autoload.php

index.php

Users

User.php

UserDetail.php



index.php 에서 사용하자하면

require("./autoload.php")


- User.php 

<?php namespace Users;


class User { }


- UserDetail.php 

<?php namespace Users;


class UserDetail { }


- index.php


<?php

use Users\User;

$user = new User();








'PHP > PHP 문법' 카테고리의 다른 글

설치된 PHP가 threadsafe 혹은 nonthreadsafe 인지 알아내는법  (0) 2016.07.23
DB접속 (MySQL 기준)  (0) 2016.04.21

Unix 환경 (Linux, Mac OS) :
/path/to/php-i | grep -i "Thread"

 

Windows 환경:
php -i | findstr -i "thread"

 

위의 명령어 타이핑시 아래중에 하나를 리턴하게된다

 

1. Threadsafe일 경우:
Thread Safety => enabled

 

2. Nonthreadsafe일 경우:
Thread Safety => disabled

 

 

참고자료:

http://stackoverflow.com/questions/5799843/find-if-the-installed-php-is-threadsafe-or-nonthreadsafe

 

DB접속 (MySQL 기준)

- 학습 목적

요즘은 프레임워크에 내장된 우수한 시스템을 통해서 DB 접속정보를 알려주지만 

PHP 프레임워크 내부에서도 결국 PHP 코드를 이용해 접속하기 떄문에 내부구조를 이해하기위해 PHP로 DB 접속 하는 방법은 간단하지만 알아둘만한 가치가 있다. 

 

- DB 접속 방법

 

1. mysqli 

1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$servername = "localhost";
$username = "username";
$password = "password";   
$conn = new mysqli($servername$username$password);    
 
// 접속 확인
if ($conn->connect_error) {         
    die("Connection failed: " . $conn->connect_error);
 
// DB 접속 끊기
mysqli_close($conn)
cs


2. PDO 

1
2
3
4
<?php
    $conn = new PDO('mysql: host=DB주소;dbname=DB이름'$DB접속이름$비밀번호);
    // EX) $conn = new PDO('mysql:host=127.0.0.1:3306;dbname=mydb', "myid", "mypd");
?>
cs

PDO는 접속 종료에 관해서 함수로 제공하고 있지 않아 사용자가 접속 정보를 null 로 직접 처리해주어야만 합니다.

 

1
2
3
4
5
6
7
8
9
<?
$pdo = new PDO('mysql: host=DB주소;dbname=DB이름'$DB접속이름$비밀번호); 
$stmt = $pdo->prepare('SELECT * FROM my_table'); 
$stmt->execute();
 
// stmt 연결 끊기
$stmt = null
// DB 연결 끊기
$pdo = null;
cs



 보통  db_connection.php 파일로 따로 빼두어 모듈화를 시킨후 필요한 곳에 사용한다. 

+ Recent posts