麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > ThinkPHP > 正文

thinkphp中調用zendframe work lib的方法

2024-09-09 15:19:58
字體:
來源:轉載
供稿:網友

想在thinkphp框架中使用zendframe mail的功能,故把操作過程記錄以下:

把zendframe Lib下的文件目錄全部復制到thinkphp的org目錄下,(ThinkPHP/Extend/Library/ORG/)這是thinkphp3.0的目錄路徑,其他版本可能有所不同。然后寫個腳本把文件的后綴由.php改為.class.php

然后就可以調用了,但是如果一個一個的去引用文件會很不爽,所以thinkphp的Config.php文件中加入'APP_AUTOLOAD_PATH' =>'ORG',(自定義搜索路徑)。不過這還沒完,由于thinkphp的autoload方法里并不能映射zend的類名到相應的文件路徑,不得已只好修改thinkphp的autoload方法(通過類名中的下劃線來分割拼裝路徑)。同時還要修改import函數(因為import函數會自動將最后一段的字符串當作類名)

然后,就可以使用我要用的zend_mail類了,代碼下面給出.

提示:以前就覺得tp的autoload實現的不好,首先不能擴展,另外不能搜索子目錄.
  1. autoload//shi_mody 
  2.         $classPart = explode('_',$class); 
  3.         $class2 = implode('.',$classPart); 
  4.         //shi_mody end 
  5.         foreach ($paths as $path){ 
  6.             //var_dump($path.'.'.$class2); 
  7.             if(import($path.'.'.$class2))//shi_mody:$class=>$class2 
  8.                 // 如果加載類成功則返回 
  9.                 return ; 

import函數:

  1. if(strpos($class,'ORG/Zend')==0){ 
  2.         $classname = preg_replace('////','_',substr($class,4)); 
  3.     }else
  4.         $classname = basename($class); 
  5.     } 
  6.     if (!class_exists($classname,false)) { 
  7.         // 如果類不存在 則導入類庫文件        
  8.         return require_cache($classfile); 

改文件名腳本:

  1. $dir = "Validate/"
  2.    traceDir($dir,"reClass"); 
  3.    function reClass($file){ 
  4.        if(strpos($file,"class.php")){ 
  5.            $nFile = preg_replace('//.php/',"class.php",$file);//文件名后綴記得滿足條件 
  6.            rename($file,$nFile); 
  7.        } 
  8.    } 
  9.    function traceDir($dir,$callback){ 
  10.        $h = opendir($dir); 
  11.        while(($file=readdir($h))){ 
  12.            if($file=="." || $file==".."
  13.                continue
  14.            if(is_dir($dir.$file)){ 
  15.                traceDir($dir.$file."/",$callback); 
  16.            }else
  17.                
  18.                call_user_func_array($callback,array($dir.$file)); 
  19.            } 
  20.        } 
  21.    } 

調用zend_mail:

  1. class RssAction extends BaseAction{ 
  2.         public function send(){ 
  3.             $email = addslashes($_POST['email']); 
  4.             $title = addslashes($_POST['title']); 
  5.             $cont = $_POST['cont']; 
  6.            // import("ORG.Zend.Mail");//這里可以不用import了,另外tp框架里面默認的zend類庫是放在ThinkPHP/Extend/里面的,如果使用tp默認的方法,則需要事先import,這時候如果類文件里面又引用了其他的類名,就需要實現import一大串的類 
  7.             $smtp = new Zend_Mail(); 
  8.             $host="smtp.qq.com"
  9.             $config = array
  10.                     "port"=>25, 
  11.                     "auth"=>"Login"
  12.                     "username"=>"[email protected]"
  13.                     "password"=>"werwer23" 
  14.             ); 
  15.             try{ 
  16.                 $smtpTrans = new Zend_Mail_Transport_Smtp($host,$config); 
  17.                 $mail = new Zend_Mail(); 
  18.                 $mail->setDefaultTransport($smtpTrans); 
  19.                 $mail->setBodyHtml($cont); 
  20.                 $mail->setFrom($config["username"],"kindlerss.net"
  21.                 ->addTo($email$email
  22.                 ->setSubject($title); 
  23.                 $mail->send(); 
  24.             }catch(Exception $ex){ 
  25.                 echo $ex->message; 
  26.             } 
  27.         } 
  28.     } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 欧美 日韩 国产 在线 | 日本在线视频免费观看 | 国产一级毛片高清视频完整版 | 羞羞视频免费观看网站 | 久久成人免费网 | 久久久久久久黄色片 | 久久精品视频1 | 久久久久久69 | 91精品国产综合久久婷婷香 | 免费黄色在线 | 少妇一级淫片免费放正片 | 国产pron | 草久免费 | 91久久91久久精品免观看 | 日本免费aaa观看 | 国产精品久久久久久婷婷天堂 | 久久精热 | 欧美videofree性欧美另类 | 91精品国产乱码久久久久久久久 | 操你啦免费视频 | 中国av免费在线观看 | 欧美成人精品欧美一级乱黄 | 久久亚洲精品久久国产一区二区 | 最新在线黄色网址 | av电影网站在线观看 | 美女被免费网站在线软件 | 日韩毛片一区二区三区 | 99国产精品欲a | 一级黄色片在线看 | 国产精品国产成人国产三级 | 91成| 又黄又爽免费无遮挡在线观看 | 毛片电影网址 | 免费国产不卡午夜福在线 | 操操电影| 国产精品99久久久久久大便 | 亚洲午夜天堂吃瓜在线 | 欧美另类综合 | av免费提供 | 亚洲视屏在线观看 | 国产一级毛片高清视频 |