함수 같은 건 아예 모르니 그냥 쉽게 설명을 해주시면 감사할 것 같습니다.

 

Context::addHtmlFooter($alert_script);
  

푸터에 스크립트를 밀어 넣으려고 위와 같이 했습니다

 

그런데 다른 자료들에서 보면 변수를 해제한다는 의미로..

unset($alert_script);

 

이렇게 해주던데요... 이것을 해주는 차이와 안해주는 차이가 뭔가요?

 

제가 밀어 넣은 스크립트는 단순히 알럿창을 띄우는 스크립트 입니다.

 

 

  • profile
    메모리 클리닝이요
  • profile profile

    메모리라면 클라이언트쪽 메모리인가요 ? / 클라이언트쪽을 지우면 스크립트가 동작 안할거 같긴한데요 ㅋ

  • profile profile
    아뇨아뇨. PHP에 unset 이 있는거니까...
    서버상에 차지하고 있는 변수의 메모리를 비워주는거죠.
    그래야 서버가 빨리지지 않을까요
  • profile profile
    네. 이해가 되었습니다. 감사합니다.
  • profile
    해당메소드에서 해당부분이 저장되어있는 변수값을 NULL의 빈값으로만들어서 사용합니다. 별로사용은 안하지만..

    $output = 1;
    unset($output);
    $output = executequery(member.어쩌구);

    이렇게 같은이름의변수가 달라져야할때 써준다고 생각하심댐.. 기억하는걸지워버린다는..
  • profile profile

    반복하는 같은 함수가 아닌데도 마지막에 지우는 경우가 있어서 궁금했습니다. 감사합니다.

  • profile profile
    위소스같이 문자열이나 많은데이터가 한꺼번에 들어간걸 지워주는 역할하죠 ㅎ
  • profile

    PHP 실행이 종료되면 모든 변수는 자동으로 지워집니다. 따라서 어마어마하게 많은 (수백KB 이상의) 데이터가 들어 있는 게 아니라면 눈에 띄는 메모리 절약이나 성능 향상은 없습니다.

     

    변수를 지워주는 것이 실제로 도움이 된다면 대개 그 다음에 실행되는 부분에서 엉뚱한 값을 받지 않도록 배려하는 의미에서입니다. 특히 레이아웃과 스킨에서는 모든 변수가 공유되고, 애드온도 다른 애드온이 선언한 변수를 볼 수 있기 때문에 내가 임시로 사용한 변수를 지워주지 않으면 다른 파일이 오작동할 수 있어요. 예를 들면 애드온에서 $output을 덮어쓰는 바람에 그 다음에 실행되는 애드온들이 줄줄이 맛이 가버리는 일이 가끔 있습니다.

  • profile profile

    그럼 저번에 문의에 답주셨던 $logged_info 변수만 사용했는데 이게 먹는게 저희 사이트의 특정 애드온이나 레이아웃에서 이미 사용된 것이 영향을 주는 것이라고 봐야 하는 거군요....

     

    근데 재밌는건 다른 애드온 자료도 보면 저 변수만 선언한 경우가 많더라구요. 이 경우 저희 처럼 동작되는 사이트 안되는 사이트 생겨나는 것 같더라구요.

  • profile profile
    네. 반대로 남이 쓰는 변수를 함부로 지워 버려도 곤란합니다 ㅎㅎ