ホームページ  >  記事  >  バックエンド開発  >  ハイブリッドの新しい生活 -- Java+PHP 統合_PHP チュートリアル

ハイブリッドの新しい生活 -- Java+PHP 統合_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:44:341616ブラウズ

ようやく最近になって、これに取り組み、このアイデアを現実世界のアプリケーションに適用する時間ができました。以下では、開発と公開の方法を 2 つの側面から説明します。
例: メニュー管理を例に挙げて、java+php 開発モデルを説明します。
例は次のとおりです:
1: Java 構造コード
Java開発構造図は次のとおりです:

java 开发结构图

Java プログラム コードについては、以下のアップロードされたファイルを参照してください。アップロードされるファイルは 2M を超えることができないため、使用されるライブラリはアップロードされません。必要な場合は、私にメールを残してください。全員に送信します。
注: PHP と Java はそれぞれ独自の言語内で定義されたデータ型を持っています。PHP データが Java に送信されるとき、または Java データが PHP に送信されるとき、LAJP はそれらを内部で自動的かつ正確に変換するため、プログラマはデコード作業を行う必要はありません。
2: Java アプリケーションのリリース
コンパイルしたファイルを LAJP ディレクトリに置きます: My file directory: E:lajp-10.05test_serviceecard
下の写真に示すように:

ハイブリッドの新しい生活 -- Java+PHP 統合_PHP チュートリアル

三:php结构代码
クラスメニューはCI_Controllerを拡張します{
 
 関数 __construct(){
  親::__construct();
  $this->load->model('system/menu_model');
 }
 
 関数インデックス(){
  $condition = array();
  $condition['menu_id'] = $this->uri->segment(4,0);
  $condition['path'] = $this->input->post('path');
  $condition['start'] = $this->input->post('start');
  $condition['id'] = $this->input->post('id');
  $condition['order'] = $this->input->post('order');
  $condition['isfresh'] = $this->input->post('isfresh');
  $condition['visible'] = $this->input->post('visible');
  $condition['defaultselect'] = $this->input->post('defaultselect');
  $condition['name'] = $this->input->post('name');
  $condition['parentid'] = $this->input->post('parent_id');
  $condition['numPerPage'] = $this->input->post('numPerPage') ? $this->input->post('numPerPage') : 20;
  $condition['orderField'] = $this->input->post('orderField') ? $this->input->post('orderField') : 'SMT_PARENT_ID';
  $condition['pageNum'] = $this->input->post('pageNum') ? $this->input->post('pageNum') : 1;
  $data = array();
  $allmenus = $this->menu_model->getMenus();
  $this->load->library('smart_tree');
  $options = 配列(
   'インデックス' => 1、
   「タイプ」 => 0、
   「自分」 => 1、
   'hreffromdb' => 0、
   'relfromdb' => 0、
   'rel' => 'システム/メニュー/インデックス',
   'href' => 'システム/メニュー/インデックス/',
   'hrefid' => 1、
   'タイトル' => 「菜单管理」
  );
  $data['allmenus'] = $this->smart_tree->getTrees($allmenus, $options);
  $data['menus'] = $this->menu_model->getMenusVoByCondition($condition);
  $data['total'] = $this->menu_model->getCount($condition);
  $data['条件'] = $条件;
  $this->load->view('system/menu/index.phtml', $data);
 }
 
 関数 add(){
  $data['menus'] = $this->menu_model->getMenus();
  $this->load->view('system/menu/add.phtml',$data);
 }
 
 関数挿入(){
  $vo = newObject('ecard_sys_menus_vo_MenusVo');
  $vo->name = (string)$this->input->post('name');
  $vo->parentid = (int)$this->input->post('parent_id');
  $vodefaultselect = (int)$this->input->post('defaultselect');
  $vo->visible = (int)$this->input->post('visible');
  $vo->isfresh = (int)$this->input->post('isfresh');
  $vo->desc = (string)$this->input->post('desc');
  $vo->path = (string)$this->input->post('path');
  $vo->start = (int)$this->input->post('start');
  $vo->order = (int)$this->input->post('order');
  $vo->cuser = 1;
 
  if($this->menu_model->insert($vo)){
   $reback = array("statusCode"=>"200","message" => "追加成功","navTabId" => "system/menu/index", "callbackType" => "closeCurrent", "forwardUrl" => "" );
  }その他{
   $reback = array("statusCode"=>"300","message" => "添加失败","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }
  echo json_encode($reback);
 }
 
 関数編集(){
  $menu_id = $this->uri->segment(4,0) または exit('菜单不存在');
  $data['menu'] = $this->menu_model->getMenusVoById($menu_id) または exit('菜单不存在');
  $data['pmenu'] = $this->menu_model->getMenusVoById($data['menu']['parentid']) または exit('菜单不存在');
  $this->load->view('system/menu/edit.phtml',$data);
 }
 
 関数 update(){
  $vo = newObject('ecard_sys_menus_vo_MenusVo');
  $vo->id = (int)$this->input->post('id');
  $vo->name = (string)$this->input->post('name');
  $vo->path = (string)$this->input->post('path');
  $vo->parentid = (int)$this->input->post('parent_id');
  $vo->order = (int)$this->input->post('order');
  $vo->start = (int)$this->input->post('start');
  $vo->defaultselect = (int)$this->input->post('defaultselect');
  $vo->visible = (int)$this->input->post('visible');
  $vo->isfresh = (int)$this->input->post('isfresh');
  $vo->desc = (string)$this->input->post('desc');
  $vo->ユーザー = 1;
  if($this->menu_model->update($vo)){
   $reback = array("statusCode"=>"200","message" => "编辑成功","navTabId" => "system/menu/index", "callbackType" => "closeCurrent", "forwardUrl" => "" );
  }その他{
   $reback = array("statusCode"=>"300","message" => "编辑失败","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }
  echo json_encode($reback);
 }
 
 関数削除(){
  $ids = $this->input->post('ids');
  if(!$ids){
   $ids = $this->uri->segment('4',0) または exit('缺少パラメータ');
  }
  if($this->menu_model->deletes($ids)){
   $reback = array("statusCode"=>"200","message" => "删除成功","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }その他{
   $reback = array("statusCode"=>"300","message" => "删除失败","navTabId" => "", "callbackType" => "","forwardUrl" => "" );
  }
  echo json_encode($reback);
 }
 
 関数検索(){
  $data = array();
  $data['menus'] = $this->menu_model->getMenus();
  $this->load->view('system/menu/search.phtml',$data);
 }
 
 関数ツリー(){
  $menus = $this->menu_model->getMenus();
  $this->load->library('smart_tree');
  $data['menus'] = $this->smart_tree->getTrees($menus,array('index'=>1,'type'=>0,'self'=>1,'hreffromdb '=>0));
  $this->load->view('system/menu/tree',$data);
 }
 
}
四:应用展现
        javaプログラムの発行が完了したら、次の図に示すように、承認後のプログラムをlajpファイル名に配布した後、ポイントE:lajp-10.05のrun-socket.batを実行するプログラムを実行します。

ハイブリッドの新しい生活 -- Java+PHP 統合_PHP チュートリアル

启アニメーション界面:

ハイブリッドの新しい生活 -- Java+PHP 統合_PHP チュートリアル

php インターフェースは次のようになります:
アプリケーションインターフェース

ハイブリッドの新しい生活 -- Java+PHP 統合_PHP チュートリアル
この記事はブログ「潜水艦を引いたり電車や飛行機を押したりする自慢」から引用しました

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478731.html技術記事ようやく最近になって、これに取り組み、このアイデアを現実世界のアプリケーションに適用する時間ができました。 以下では、開発と公開の方法を 2 つの側面から説明します。 例: Java+php 開発モデルの説明とメニュー管理の使用...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。