안녕하세요. 오랜만에 글을 쓰네요..
Aptana Studio에 CI 3. 버전을 올려서 초기 작업중인데요.
application 아래 vendor 디렉토리를 만들어
facebook-sdk (php)를 받아 직접 넣어 뒀습니다.
현재상태
- application/vendor/Facebook_sdk/
위 디렉토리 내 autoload.php 파일이 존재합니다.
config.php 에서
$config['composer_autoload'] = APPPATH.'vendor/Facebook_sdk/autoload.php';
이렇게 설정 했구요.
컨트롤러에서
$arr = array(페북에서 요구하는 정보);
$fb2 = new \Facebook\Facebook($arr);
print_r($fb2);
까지 했습니다.
마음같아서는 libraries 디렉토리에 Facebook_sdk 디렉토리를 넣고
CI application/config/autoload.php 파일 내
$autoload['libraries'] = array(APPPATH.'vendor/Facebook_sdk/autoload.php');
위와 같이 하려고 해도 ^^ ;; autoload 파일이 클래스 파일이 아니라서 안되더라구요..
그래서 어쩔수 없이 위와 같이 config에 composer_autoload 부분 수정해둔 상황입니다.
여기서 문의 드리는 부분은 2가지 입니다.
1. \ <<역슬러쉬 입니다. 컨트롤러에서 저런식으로 접근 하는 방법 이외에는 없나요..?
$fb2 = new Facebook\Facebook($arr); 으로 하니 되긴한데.. 중간에 \ 도 -> 화살표 연산자도 안되고..
여튼 1번이 좀 그런 상황입니다.
2. libraries 디렉토리에 넣고 로드 하는 방법은 없을까요 ? ?
컨트롤러에 require_once 같은 코드를 넣고 싶지 않아서요.. 여기저기 이런 코드 쓰다보면
나중에 찾기도 힘들고 대략적인 방법으로는
글을 좀 찾아봤는데
MY_ 를 사용해서 하나의 .php 파일 내 require_once 만을 넣어 로드 시키는 방법은 찾아 봤습니다.
혹시나 이 방법 이외에 추천해주실 만한 정보가 있다면 공유 부탁드립니다.
긴글 읽어주셔서 감사합니다.
@한대승(불의회상)님
먼저 답변 감사드립니다^^
맞습니다. 네임스페이스가 설정되어 있는 상황입니다.
역슬러쉬를 혹시나 제외 하는 방법이 있나 싶어 문의 드린내용입니다.
다다닷/ 역슬래스를 제거하려면 네임스페이스를 사용하는 라이브러리를 사용하지 않으시면 됩니다. (일반 클래스 사용하는) ^^
@변종원(웅파) 님
넵.. ㅎㅎ 네임스페이스 사용시 역슬러쉬는 문법과 같군요 ㅎㅎ 감사합니다 !
네임스페이스가 설정되어 있어서 그렇습니다.
\를 넣어서 사용하세요.