간략하게 보자면 session_start(); 로 시작해서 session_destroy(); 로 끝나는 것 같다.
한 PHP 페이지 안에 꼭 session_destroy();가 들어갈 필요는 없는 것 같다.
세션이 닫히는것과 없어지는 것에 대한 궁금증 생겨서 이런저런 실험을 해보았다.

cat ./set1.php
<?
session_id('chat');
session_start();
$_SESSION['test'] = "HEHEHE THIS IS TEST!";
print_r($_SESSION['test']);
var_dump($_SESSION);
//echo($_SESSION['test']);
echo("<br>set1 : ". $_SESSION['test']."<br>");
//session_destroy();
?>

cat ./set6.php
<?
require('set1.php');
$_SESSION = array();
echo("<br>set6 : ".  $_SESSION['test'] . "<br>")
?>

cat ./set7.php
<?
require('set6.php');
var_dump($_SESSION['test']);
echo("<br>set7 : " . $_SESSION['test'] ."<br>");
?>

위 상태에서 set7.php 사이트에 들어가면(물론 set1.php, set6.php, set7.php는 같은 폴더안에 있다)

HEHEHE THIS IS TEST!array(1) { ["test"]=> string(20) "HEHEHE THIS IS TEST!" }
set1 : HEHEHE THIS IS TEST!

Notice: Undefined index: test in /opt/lampp/htdocs/set6.php on line 4

set6 :

Notice: Undefined index: test in /opt/lampp/htdocs/set7.php on line 3
NULL
Notice: Undefined index: test in /opt/lampp/htdocs/set7.php on line 4

set7 :

라고 나온다.
즉 set1부분에서는 세션이 시작되고 test라는 이름의 세션을 추가한뒤 set6.php부분에서는 세션변수에 대해 배열 초기화가 일어나 test라는 이름의 세션이 사라져서 아무것도 없게 되는 것 같다.

그리고 session_id 라는 놈을 이용해 세션을 공유할수도 있는 것 같다. 세션을 저장하는 위치도 지정할수 있는 함수가 있었지만 직접 실험해보지는 않았다.

세션 아직은 많이 어렵다 ㅠㅠ

설정

트랙백

댓글

gtk+.. 이거 그냥 일일히 설정하기엔 코드도 길어지고 복잡하고... 아무래도 glade라고 GUI로 끌어와서 .glade라는 xml형식의 파일을 만든다음 불러와서 파싱해서 위젯으로 쓰는 방식인듯 하다.

어떻게 하는건지 역시 한국어 문서가 적다는 점이 날 괴롭게 했다....(이래서 영어를 배워야하나봐...)

아무튼 열심히 구글의 문을 두들기다보면 나오지 않는 정보는 없는법 결국 어떻게든 찾아서 사용방법을 알아냈다

GtkBuilder = *builder
builder = gtk_builder_new();
gtk_builder_add_from_file(builder,"file.glade",NULL)

먼저 builder 라는 이름으로 변수를 생성한뒤 그 변수에 gtk_builder_new() 값을 넣는 것처럼 넣고 세번째 줄에서는 함수의 이름 그대로 파일로부터 값을 받아온다. 세번째 패러미터는 error값을 의미하는데 GError 타입의 변수를 선언해 error를 받아올 수 있는것 같다. 첫번째는 값이 들어갈 GtkBuilder 타입의 변수, 두번째는 파일 이름이다.

잡소리지만 Java나 C#에서 쓰이는 객체지향에서 객체를 저런식으로 포인터로 할당한다고 들었다. 그렇다면 위에 두줄은 GtkBuilder builder = new GtkBuilder(); 라는 의미(실제로 이렇게 쓰이는 건 없을듯 하지만)를 지니고 있는게 아닌가 싶어졌다.

'프로그래밍 > Gtk+/binding gtk' 카테고리의 다른 글

본격 Gtk에서 Cairo 사용하기  (0) 2011.11.15
gtkmm 예제 프로그램  (0) 2011.11.03
gtkmm! Anjuta!  (0) 2011.11.02

설정

트랙백

댓글