초간단 방명록 시리즈~!-_-

예전에 포스팅한 Zend Amf사용후기- http://mudchobo.tomeii.com/tt/398
Zend Amf가 이번에 출시된 Flash Builder4 Beta에서 기능으로 포함되어있습니다. 사용하기도 더 편해졌구요. 설정 같은 것은 전혀 안해줘도 Flash Builder4가 알아서 다하네요.

우선 Flash Builder4 Beta를 설치해야합니다.(adobe.com 회원가입 후 받을 수 있음!)


New Flex Project -> Project Name은 FlexGuestBook, Application type은 Web, Server technology는 PHP!
Next하면 서버 셋팅을 해야하는데요. 우선 Apache와 Mysql깔려있다는 가정하에 진행!-_-
Server location에서 Web root는 htdocs위치, Root URL은 http://localhost.
Output folder는 냅둬도 돼요^^ 바로 Finish!

htdocs/FlexGuestBook-debug생기면 성공!

아...디비부터 만들어야겠군요.
[code]DROP TABLE IF EXISTS `mudchobo`.`guestbook`;
CREATE TABLE  `mudchobo`.`guestbook` (
  `idx` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `author` varchar(45) NOT NULL,
  `content` text NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY (`idx`)
);[/code]
그럼 PHP코딩해봅시다.
저같은 경우 NetBeans를 사용해서 하는데, 그게 정신건강에 좋아요-_- PHP는 NetBeans와 함께-_-
아까Web root에서 FlexGuestBook폴더를 만듭니다.
PhpClass파일을 하나 만듭니다.
GuestBookService.php
[code]<?php
class GuestBookService {
    private $connection;

    private function connect()
    {
        $this->connection = mysqli_connect("localhost", "root", "mudchobo", "mudchobo")
            or die(mysqli_connect_error());
    }

    public function getList()
    {
        $this->connect();
        $sql = "SELECT * FROM guestbook order by idx desc limit 0, 10";

        $result = mysqli_query($this->connection, $sql)
            or die("Query failed: " . mysqli_error($this->connection));

        $rows = array();
        while($row = mysqli_fetch_object($result))
        {
            $rows[] = $row;
        }

        mysqli_free_result($result);
        mysqli_close($this->connection);

        return $rows;
    }

    public function insert($author, $content)
    {
        $this->connect();
        $sql = "INSERT INTO guestbook (idx, author, content, date) VALUES (null, '" .
            $author . "', '" . $content . "', now())";

        $result = mysqli_query($this->connection, $sql)
            or die("Query failed: " . mysqli_error($this->connection));

        mysqli_close($this->connection);
    }
}
?>[/code]
클래스에 초간단 insert함수와 getList()함수가 있어요. 여기서 잠깐! NetBeans6.7의 새로운 기능-_-
쿼리문의 코드힌트가 가능해요!!! idx, author, content, date가 다보여요. guestbook 테이블명도 보이는군요.
사용자 삽입 이미지

Flash Builder설명하다 튀어나온 NetBeans...-_-

뭐어쨌든, 이제 진짜 FlashBuilder로 가는거임.
FlashBuilder에서 하단에 Data/Services가 있는데요. Connect Data/Service를 클릭하면 PHP가 있는데, 클릭하고, ServiceName은 GuestBookService로 하고, Php Location은 아까 작성한 GuestBookService.php를 선택합니다.
이 과정에서 Zend Amf가 설치가 안되어있으면 설치할꺼냐고 물어봅니다. 설치해야합니다^^
설치할 때 htdocs/ZendFramework폴더에 자동으로 설치됩니다.
Finish! 그려면 services.guestbookservice패키지에 뭔가 생겼을 겁니다.
그럼  getList와 insert가 보이는데요. 리턴타입을 설정해야해서 getList에 오른쪽버튼 누르면, Configure Return Type이 있는데, Create a new custom data type에서 GuestBook을 입력하고, Finish를 하면 모든 타입이 String으로 된 Bean같은 것을 만듭니다-_-(Bean마다 타입은 지정이 안되는데, 왜그런지 모르겠음 ㅠ)
insert는 기존에 있는 타입에서 void로 고르고!^^

그럼 이제 진짜 Flex로 와서 Design모드로 바꾸고, DataGrid를 넣어봅시다.
사용자 삽입 이미지

왜 한글로 나오지...한글화가 되다 말았네-_-

데이터그리드에 대고 오른쪽 버튼을 누르면 Bind To Data라는 메뉴가 생겼습니다. 누르면 아래와 같은 메뉴가 나옵니다.
사용자 삽입 이미지
OK누르면 자동으로 코드도 입력해주네요.
예전에는 Php로 Service랑 설정파일 작성하고 그랬는데, 그럴필요가 없어요. 알아서 다 만들어주거든요.
Insert하고 getList하는 것도 다 추가하면 아래와 같은 코드를 완성할 수 있어요.
[code]<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768" xmlns:guestbookservice="services.guestbookservice.*">
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
            import mx.controls.Alert;

            protected function dataGrid_creationCompleteHandler(event:FlexEvent):void
            {
                getListResult.token = guestBookService.getList();
            }

            protected function btnWrite_clickHandler(event:MouseEvent):void
            {
                if (inputAuthor.text.length < 1)
                {
                    Alert.show("글쓴이를 입력하세요");
                    return;
                }
                if (taContent.text.length < 1)
                {
                    Alert.show("내용을 입력하세요");
                    return;
                }
               
                guestBookService.insert(inputAuthor.text, taContent.text);
                inputAuthor.text = "";
                taContent.text = "";
               
                getListResult.token = guestBookService.getList();
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <s:CallResponder id="getListResult"/>
        <guestbookservice:GuestBookService id="guestBookService" destination="GuestBookService" endpoint="http://localhost/PhpFlexGuestBook/gateway.php" fault="Alert.show(event.fault.faultString)" showBusyCursor="true" source="GuestBookService"/>
    </fx:Declarations>
    <mx:DataGrid x="72" y="21" width="489" height="307" id="dataGrid" creationComplete="dataGrid_creationCompleteHandler(event)" dataProvider="{getListResult.lastResult}">
        <mx:columns>
            <mx:DataGridColumn headerText="content" dataField="content" showDataTips="true" dataTipField="content"/>
            <mx:DataGridColumn headerText="author" dataField="author" showDataTips="true" dataTipField="author"/>
            <mx:DataGridColumn headerText="idx" dataField="idx"/>
            <mx:DataGridColumn headerText="date" dataField="date"/>
        </mx:columns>
    </mx:DataGrid>
    <mx:Label x="70" y="370" text="내용 :"/>
    <s:TextArea id="taContent" x="111" y="369" width="447"/>
    <s:Button id="btnWrite" x="279" y="524" label="글쓰기" click="btnWrite_clickHandler(event)"/>
    <mx:Label x="59" y="344" text="글쓴이 :"/>
    <s:TextInput id="inputAuthor" x="112" y="343"/>
   
</s:Application>[/code]
사용자 삽입 이미지
위에 부분 댓글인줄 알고 낚이는 사람 있겠다-_-

참고자료 : http://sujitreddyg.wordpress.com/2009/06/01/building-flex-application-for-a-php-class-using-flash-builder-4/
 
Posted by 머드초보

댓글을 달아 주세요

  1. 플렉스시작 2009.07.06 11:54  댓글주소  수정/삭제  댓글쓰기

    플렉스로 오라클을 연동할려고하는데...보통 보면 Mysql이랑 연동하는 예제뿐인데...
    오라클이랑 연동하는 예제 하나만 만들어주시면..안될까요?
    초보라서 응용이 잘안돼네요..ㅠㅠ

    • 머드초보 2009.07.13 14:57  댓글주소  수정/삭제

      안녕하세요!
      정확히 말하면 플렉스와 Mysql이 연동된 것이 아니라 php와 mysql이 연동이 된 것 입니다.
      php에서 oracle을 사용하는 방법을 찾으시면 될 듯합니다^^
      저도 안해봐서 잘 모르겠네요 ㅠ
      구글에서 php oracle쳐보시면 뭔가 나올 겁니다 ㅠㅠ

  2. 자바초보 2009.07.06 11:54  댓글주소  수정/삭제  댓글쓰기

    플렉스로 오라클을 연동할려고하는데...보통 보면 Mysql이랑 연동하는 예제뿐인데...
    오라클이랑 연동하는 예제 하나만 만들어주시면..안될까요?
    초보라서 응용이 잘안돼네요..ㅠㅠ

  3. BlogIcon EHXM 2010.02.10 18:17  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 글 잘 읽어보았습니다.

    위 처럼 작업을하고 이제 서버에 올려서 사용할때는
    BlazeDS 가 서버에 필요한 건 가요?
    아니면 Flash에서 구동이 되는 거라서 다른 서버 작업은 필요하지 않은 건가요?

    • 머드초보 2010.02.12 00:08  댓글주소  수정/삭제

      안녕하세요~
      BlazeDS는 자바용이고, zenphp가 그 역할을 대신하는 것입니다.
      php가 서버단 언어입니다. php로 작업하시면 됩니다^^

  4. 무니 2010.04.06 11:19  댓글주소  수정/삭제  댓글쓰기

    안녕하세요..^^

    올려주시는 글 너무 잘 보고 있습니다..^^

    제가 공부중인 상태라서요..염치 불구하고 질문 드립니다..(질문을 어따가 하는지 모르겠어서..ㅎㅎ)

    Messaging 서비스 를 이용해서 간단한 air 작업을 하고 싶었는데요..

    처음에는 BlazeDS 를 사용 하려고 했는데..

    제가 원래 php를 주로 해서요.. zend Amf 를 사용하려구요..

    그런데 zend Amf 예제중에 Messaging 서비스 관련 된게 없는거 같아서요..

    BlazeDS에서 사용할수 있는 기능을 zend Amf에서 모두 사용 가능한건가요??

    Messaging 서비스 (서버에 접속한 여러 클라이언트간에 실시간(real-time)으로 메세지를 전달해 주는 서비스)가 zend Amf에서도 지원이 되는지 성능은 같은지 궁금해서요..ㅎㅎ

    시간 되시면 답변 부탁 드립니다..ㅜㅜ

    • 머드초보 2010.04.09 10:30  댓글주소  수정/삭제

      안녕하세요~
      저도 그냥 remoteobject만 호출하는 것만 해봐서-_-
      Messaging서비스에 관한 자료가 있는지 홈페이지에 가보니
      없는 것 같은데-_-
      저도 되는지 안되는지 정확하게 모르겠네요 ㅠㅠ

  5. 아침에주스 2011.06.10 13:53  댓글주소  수정/삭제  댓글쓰기

    좋은글 감사 합니다.
    많은 도움이 되었습니다 ^^

 
PHP는 HTTPService말고 방법이 없을까 하고 찾아보니, Zend에서 AMF를 이용하여 개발한게 있군요. Adobe의 공식 지원으로 만들어진거라 빠르리라고 생각합니다^^ (적어도 HTTPService보단 빠르겠죠!)

암튼, BlazeDS를 하셨다면 그리 어렵지 않군요.
이번에도 간단하게 소녀시대예제를 통해...접근해봅시다-_-;

간단히 데이터를 불러오고, 저장도 해보는 그런 애플리케이션을 만들어봅시다.

우선 Eclipse에서 php가 가능하도록 해야하는데요. 뭐 그냥 editplus에서 해도 상관없습니다. Zend홈페이지에 가면 자기네들 IDE깔라고 합니다-_-; Zend Studio라는 게 있네요. 뭐 php단은 netbeans를 이용해서 개발하셔도 되고, 이클립스에 있는 PDT를 추가하셔서 해도 상관없어요~ ^^ 전 NetBeans를 선호합니다. 좋아요!

DB입니다.
[code]DROP TABLE IF EXISTS `sosi`.`sosi`;
CREATE TABLE  `sosi`.`sosi` (
  `idx` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `sosiname` varchar(45) NOT NULL,
  `height` int(10) unsigned NOT NULL,
  `blood` varchar(45) NOT NULL,
  PRIMARY KEY (`idx`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

INSERT INTO `sosi` (`idx`,`sosiname`,`height`,`blood`) VALUES
 (1,'윤아',166,'B'),
 (2,'수영',170,'O'),
 (3,'효연',160,'AB'),
 (4,'유리',167,'AB'),
 (5,'태연',162,'O'),
 (6,'제시카',163,'B'),
 (7,'티파니',162,'O'),
 (8,'써니',158,'B'),
 (9,'서현',168,'A');[/code]
우선 Flex Project를 만듭니다.
여기서 Application server type을 php로 하세요~ php로 하게 되면 설정된 폴더로 swf를 바로 위치시킬 수 있어요!
Project name은 ZendAmfTest -> Web root는 아파치가 돌아가는 폴더를 지정하면 됩니다.
저는 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs여기군요.
Root URL은 http://localhost/ Finish때려주면 ZendAmfTest-debug폴더에 swf가 생기죠.

요 아래 주소에서 ZendAMF를 받을 수 있습니다.
http://framework.zend.com/download/amf
받은 다음에 압축을 풀면 library폴더 안에 Zend라는 폴더가 있는데 통채로 복사해서 src폴더 아래에 놓습니다.

그리고 php파일을 하나 만드세요. ValueObject입니다. Java에서 bean같은..-_-;
SosiVo.php
[code]<?php
class SosiVo {
    public $idx;
    public $sosiname;
    public $height;
    public $blood;
}
?>[/code]
이제 서비스를 하나 만들어봅시다. SosiService입니다.
SosiService.php
[code]<?php
require_once 'SosiVo.php';

//conection info
define("DATABASE_SERVER", "localhost");
define("DATABASE_USERNAME", "root");
define("DATABASE_PASSWORD", "mudchobo");
define("DATABASE_NAME", "sosi");

class SosiService {
    public function getData() {
        $mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME,
            DATABASE_PASSWORD);
        mysql_select_db(DATABASE_NAME);
        $query = "SELECT idx, sosiname, height, blood FROM sosi";
        $result = mysql_query($query);

        $ret = array();
        while ($row = mysql_fetch_object($result)) {
            $tmp = new SosiVo();
            $tmp->idx = $row->idx;
            $tmp->sosiname = $row->sosiname;
            $tmp->height = $row->height;
            $tmp->blood = $row->blood;
            $ret[] = $tmp;
        }
        mysql_free_result($result);
        return $ret;
    }
}
?>[/code]
php의 array는 ActionScript3의 array와 호환됩니다.
서비스를 만들었으니 EndPoint페이지를 만들어줘야합니다.
amf.php
[code]<?php
require_once 'Zend/Amf/Server.php';
require_once 'SosiService.php';

$server = new Zend_Amf_Server();
$server->setClass("SosiService");
$server->setClassMap("SosiVo", "SosiVo");
echo($server -> handle());
?>[/code]
이제 이것을 연결시켜줄 service-config.xml파일을 만들어야합니다.
[code]<?xml version="1.0" encoding="UTF-8"?>
<services-config>
    <services>
        <service id="amfphp-flashremoting-service"
            class="flex.messaging.services.RemotingService"
            messageTypes="flex.messaging.messages.RemotingMessage">
            <default-channels>
                   <channel ref="my-zend"/>
            </default-channels>
            <destination id="zend">
                <properties>
                    <source>*</source>
                   </properties>
               </destination>
        </service>
    </services>
    <channels>
        <channel-definition id="my-zend"
            class="mx.messaging.channels.AMFChannel">
            <endpoint uri="http://localhost/ZendAmfTest-debug/amf.php"
                class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>
    </channels>
</services-config>[/code]
우선 default로 my-zend라는 채널을 잡았는데, my-zend는 endpoint uri가 ~~/amf.php입니다. 우리가 좀전에 작성했던 endpoint죠. 새로운 서비스가 추가되어 새로운 endpoint를 작성하게 될 때 endpoint파일을 amf1.php라고 했을 때 이곳에 추가해서 channel에 기입할 수도 있고, <mx:RemoteObject>에서 endpoint를 해당 uri로 바꿔주는 방법 2가지가 있습니다.

그럼 이제 Flex쪽으로 넘어가봅시다.
ZendAmfTest.mxml
[code]<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    creationComplete="creationCompleteHandler()">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;
           
            private function creationCompleteHandler():void
            {
                roSosi.getData();   
            }
           
            private function faultHandler(event:FaultEvent):void
            {
                Alert.show(event.message.toString());
            }
           
            private function resultGetDataHandler(event:ResultEvent):void
            {
                dgSosi.dataProvider = event.result as Array;
            }
        ]]>
    </mx:Script>
   
    <mx:RemoteObject id="roSosi" fault="faultHandler(event)" destination="zend" source="SosiService">
        <mx:method name="getData" result="resultGetDataHandler(event)" />
    </mx:RemoteObject>
  
    <mx:DataGrid id="dgSosi" width="100%" height="100%">
        <mx:columns>
            <mx:DataGridColumn headerText="아이디" dataField="idx"/>
            <mx:DataGridColumn headerText="소녀시대이름" dataField="sosiname"/>
            <mx:DataGridColumn headerText="신장" dataField="height" />
            <mx:DataGridColumn headerText="혈액형" dataField="blood" />
        </mx:columns>
    </mx:DataGrid>
   
</mx:Application>[/code]
만약 다른 서비스를 추가하게 된다면, <mx:RemoteObject>에서 endpoint를 다른 url로 잡아주면 됩니다.
[code]<mx:RemoteObject id="roAnother" fault="faultHandler(event)"
        destination="zend" source="AnothorService"
        endpoint="http://localhost/ZendAmfTest-debug/another_amf.php">[/code]
아님 service-config.xml에서 channel을 다르게 해서 destination을 다르게 설정해도 되구요.
사용자 삽입 이미지

ps1. 다른 예제에서는 2개의 service를 이용한 예제가 없더라구요. 그래서 사실 저렇게 하는 게 맞는지 잘 모르겠습니다. 다른 방법이 있을 수도 있구요^^ 암튼, 제가 삽질한 바로는 서비스당 1개의 php파일을 만들어야 하더라구요.

ps2. PHP를 시작한지 얼마 안되었는데, DB연동 시 한글이 깨지더라구요. 인코딩을 my.ini과 php.ini에 utf-8로 맞췄는데, ???로 인식해서 나오는 경우가 있더라구요. php파일에서 db정보를 출력하니 이상하게 그냥 로컬에서 쳤을 때에는 utf-8로 나오는데, php파일이 출력한 db정보는 latin으로 나올 때가 있더라구요. 이 경우 my.ini파일에 이 부분을 추가해주면 됩니다.
[mysqld] 아래에
character-set-client-handshake = FALSE
client 인코딩으로 강제 셋팅하는거라고 하더라구요. 저는 처음에 ??? 뜨길래 이걸로 해결봤습니다-_-;
아 또 다른 방법으로 쿼리날리기 전에 set names 'utf8'이라고 먼저 날려줘도 됩니다.
[code]mysql_query("SET NAMES 'utf8'");[/code]
ps3. 이런...생각해보니 client에서 VO를 안만들어줬군요-_-;

참고자료
http://corlan.org/2008/11/13/flex-and-php-remoting-with-zend-amf/

덧. 채널 못찾는 에러는 아래 주너니님의 댓글을 참조하세요~ 컴파일옵션을 추가해야합니다^^
주너니님 감사합니다 ^^
 
Posted by 머드초보

댓글을 달아 주세요

  1. BlogIcon 지돌스타 2009.03.27 09:42  댓글주소  수정/삭제  댓글쓰기

    매우 유용하군요. PHP에서도 AMFPHP는 AMF0만 지원했던걸로 알고 있는데 AMF3까지 지원한다고 하니... 매우 좋은걸요. 개인적으로 php로 할 프로젝트가 있었는데 적절한 시기에 소개해주셔서 참 감사합니다. 이걸 사용해야겠네요.

    • 머드초보 2009.03.28 09:55  댓글주소  수정/삭제

      앗 지돌스타님^^
      저도 php를 배운지 얼마 안되었는데, 데이터연동부분에 관한 자료를 찾다보니 Zend Amf가 있더라구요^^ 방문해주셔서 감사해요~^^

  2. 주너니 2009.03.29 21:07  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 좋은정보 감사합니다.
    내용중에 약간 잘못된게 있는것 같아서 저도 꽤 삽질했네요 ^^;;

    amf.php
    <?php
    require_once 'Zend/Amf/Server.php';
    require_once 'SosiService.php';

    $server = new Zend_Amf_Server();
    $server->setClass("SosiService";);
    $server->setClassMap("SosiVo", "SosiVo";);
    ?>
    마지막에 echo($server -> handle()); 가 빠진것 같네요.
    그리고 $mysql_query("SET NAMES 'utf8'";); -> mysql_query("SET NAMES 'utf8'";);
    이렇게 되야될거 같고요~

    마지막으로 channel 을 못찾는 에러가 나시는 분들은
    해당 프로젝트 Properties -> Flex Compiler -> Additional compiler arguments 에
    -services "D:\work\test\service-config.xml"
    식으로 service-config.xml 이 있는 절대경로값을 추가해주셔야 합니다.

    그럼 좋은정보 감사합니다. 수고하세요~

    • 머드초보 2009.03.30 09:46  댓글주소  수정/삭제

      헉 그렇네요 ㅠ
      저도 삽질하면서 글을 그냥 기록한거라 ㅠㅠ
      컴파일 옵션 추가도 제가 뺐군요 ㅠ
      감사합니다 ^^

  3. 햇무리 2009.06.19 09:48  댓글주소  수정/삭제  댓글쓰기

    좋은 글 정말 잘 봤습니다.
    AMFPHP가 느리다고 해서 망설이고 있었는데 좋은 게 있었네요.
    그런데 zendamf를 http://framework.zend.com/download/amf 에서 받아서 하니까 Minimal이고
    Zend폴더 밑에 Loader 폴더가 없어서 에러가 나더라구요.
    그래서 http://framework.zend.com/download/current/ 에서 Full로 받아서 해보니 되네요.
    물론 3월에 해보신거라 그때는 잘 되었을지도 모르겠네요.
    앞으로 해보시는 분들은 참고하세요.
    감사합니다.

    (그런데 한글깨지는거
    character-set-client-handshake = FALSE 로 하면 된다고 하셨는데 어떻게 하는지 잘 모르겠어요... ㅠㅠ
    mysql_query("SET NAMES 'utf8'";); 를 쓰는 것보다는 이게 더 좋을 것 같은데요.)

    • 머드초보 2009.06.19 14:09  댓글주소  수정/삭제

      아....그거 mysql옵션 수정하셔야합니다.
      mysql.ini파일인가-_- 설정파일이 있는데, 그걸 수정해서 mysql다시 리셋해주면 돼요 ^^
      방문해주셔서 감사해요~ ^^좋은 정보도 감사해요!

  4. 햇무리 2009.06.21 11:17  댓글주소  수정/삭제  댓글쓰기

    오... 잘 되네요... 감사합니다.
    그런데 또 안되는 것이 있네요... ㅠㅠ
    서비스 여러개 넣는거 해보는데 잘 안되요.
    위에 말씀하신 두가지를 다 해보고 있는데 워낙 zend에 대한 지식도 없고 하니 잘 안되네요.
    service-config.xml와 flex쪽에서 어떻게 바꾸면 될까요?
    -----
    몇시간 후...
    저도 삽질끝에 성공을 했어요... ^^
    이젠 저장하는 것을 해봐야 겠어요. 감사합니다.

    • 머드초보 2009.06.21 23:38  댓글주소  수정/삭제

      와 축하드립니다^^
      저도 이거 삽질했던 때가 생각나는군요.
      저도 조만간 이것을 쓰게 될 듯-_- 뭔가 개발해야하는데 서버가 php거든요^^

  5. 햇무리 2009.09.08 21:23  댓글주소  수정/삭제  댓글쓰기

    netbeans을 사용하신다고 했는데요.
    zend amf와 사용할때 php debug를 netbeans으로 어떻게 하나요?
    해보려고 하는데 잘 안되서요.
    php 코드쪽 문제 발생할 경우가 많은데 디버깅 없이는 코딩이 어려울 것 같아요.
    부탁드립니다. ^^

    • 머드초보 2009.09.09 17:41  댓글주소  수정/삭제

      디버깅을 하시려면 XDEBUG라는 디버거를 설치해야합니다.
      검색 하시면 셋팅하는 것이 다 나올꺼에요 ^^
      xdebug입니다!

  6. 햇무리 2009.09.09 22:30  댓글주소  수정/삭제  댓글쓰기

    감사합니다. xdebug라는 것이 있었네요.
    방금 php만 테스트 해봤는데 잘되네요.
    이젠 flex와도 되는지 봐야겠네요. ^^

    • 머드초보 2009.09.10 17:12  댓글주소  수정/삭제

      아네 이클립스에서도 php랑 다 할 수 있는데, ide가 전 따로 있는 게 더 편하더라구요. 그래서 서버는 넷빈즈, 클라이언트는 flex를 ^^
      그럼 둘다 디버깅을 편하게 할 수 있어요^^
      방문해주셔서 감사해요~

  7. BlogIcon 붉은고래 2009.10.06 11:58  댓글주소  수정/삭제  댓글쓰기

    좋은 정보 감사합니다..^^
    댓글 정보도 너무 유용하네요...
    오류가나서 이것저것 해보다가 댓글에서 해답들을 찾았네요..감사 감사 ^^

    • 머드초보 2009.10.11 11:14  댓글주소  수정/삭제

      아네 도움이 되셔서 다행이네요^^
      제가 몇개 좀 빠뜨린게 있었는데, 댓글에 누군가가 올려주셨어요 ㅠㅠ

  8. naiyumie 2010.02.01 10:20  댓글주소  수정/삭제  댓글쓰기

    따라해봤습니다. 감사합니다~~^^

  9. 행복한 아침 2010.04.05 17:05  댓글주소  수정/삭제  댓글쓰기

    환경 : window2003,php5.2,Mysql5.1,Flex builder 3

    위의 절차를 따라 실행을 하면 계속 이런 메시지가 떠는데
    제가 초보자라 무슨 뜻인지 잘 모르겠네요..
    정말 며칠동안 계속 이문제를 풀려고 했지만 도저히 무슨 영문인지 잘 모르겠습니다.
    왜 이러한 현상이 나는지 바쁘시겠지만 알려주시면 감사드립니다.

    (mx.messaging::ChannelSet)#6
    clientId = (null)
    connected = false
    defaultHeaders = (null)
    destination = "zend"
    id = "D0577C34-67E2-48B1-A580-CCFC96CE62A1"
    reconnectAttempts = 0
    reconnectInterval = 0
    requestTimeout = -1
    subtopic = ""
    connected = false
    connectTimeout = -1
    enableSmallMessages = true
    endpoint = "http://localhost:81/ZendAmfTest-debug/amf.php"
    failoverURIs = (Array)#11
    id = "my-zend"
    mpiEnabled = false
    netConnection = (flash.net::NetConnection)#12
    client = (mx.messaging.channels::AMFChannel)#4
    connected = false
    objectEncoding = 3
    proxyType = "none"
    uri = "http://localhost:81/ZendAmfTest-debug/amf.php"

    • 머드초보 2010.04.09 10:22  댓글주소  수정/삭제

      안녕하세요~
      이거 해본지 1년이 다되서....-_-
      죄....죄송합니다 ㅠㅠ
      잘 모르겠어요 ㅠㅠ

    • flex_gg 2011.01.28 17:17  댓글주소  수정/삭제

      ㅇ ㅏ......저도 지금 그 에러때문에 죽겠는데,, 혹시 해결하셨나요????ㅠㅠㅠㅠㅠㅠㅠ

  10. BlogIcon finebe 2010.10.02 19:50  댓글주소  수정/삭제  댓글쓰기

    이 글을 바탕삼아 CodeIgniter+ZendAMF로 만들어봤습니다. 좋은글 감사합니다.
    http://finebe.com/90