/***********************************************
Tampilkan postingan dengan label Zend Framework. Tampilkan semua postingan
Tampilkan postingan dengan label Zend Framework. Tampilkan semua postingan

Sintak di form
Nama file biasanya index.phtml
<?php echo $this->render('header.phtml'); ?> Selengkapnya...

Nama file CobaModel.php
<?php
class SaveModel extends Zend_Db_Table {
var $dbcon;
function __construct(){
$this->dbcon = Zend_Registry::get('db1');
}
function get(){
$qry=$this->dbcon->query("select max(biodata_id) as maxId from `biodata` where biodata_id like 'B-%'");
$nil=$qry->fetchObject();
return $nil;
}
}
Selengkapnya...

Sintak di controller
Nama file biasanya ClientController.php
<?php

class ClientController extends Zend_Controller_Action
{
public function init(){
$this->initView();
$this->view->baseUrl=$this->_request->getBaseUrl();
}

Public function index(){
$form = new Application_Form_ClientForm();
$this->view->assign("content_panel",$form);

$ClientModel = new ClientModel();
$upload=new Zend_File_Transfer();
$files=$upload->getFileInfo();
foreach ($files as $file=>$info){
$upload=new Zend_File_Transfer_Adapter_Http();
$upload->setDestination('../public/foto');
$upload->addValidator('Extension',true,'jpg,png,jpeg');
$upload->addValidator('Size',true,array(
'max' => '500KB',
'bytestring' => false
));
//print_r($info);
if($upload->receive($file)){
if($ClientModel->addPhoto($_REQUEST,$info['name'])){
$_SESSION["msg"]="Add new Client success.";
if($_REQUEST["email"]=="true"){
$email=$_REQUEST["client_contactEmail"];
$pass=$_REQUEST["client_contactPassword"];
$this->dapatemail($email,$pass);
}
$this->_redirect("/client");
} else {
$_SESSION["msg"]="Add new Client fail.<br/>Client already exist or invalid input.";
$this->_redirect("/client/add/");
}
}
}
}

Selengkapnya...

Untuk configurasi dom pdf di zend,anda dapat menggunkan code sebagai berikut :
function printAction(){
$tmps=explode("/",$_SERVER['REQUEST_URI']);
$idView=$tmps[5];
$data=new SaveModel();
$dataAll=$data->getAll($idView);
$cat=$this->note($dataAll->tgl,$dataAll->biodata_nama);
$this->view->assign('data',$dataAll);
$this->view->assign('cat',$cat);
//echo $idView;
/* $invoicePrint="<div style='color:#F00;'>ini merah</div>";
$dompdf = new DOMPDF();
$dompdf->load_html($invoicePrint);
$dompdf->render();
$dompdf->stream("sample.pdf"); */
$html = $this->view->render("PDFLayout.phtml");
$dompdf = new DOMPDF();
$dompdf->set_paper("a4","portrait");
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("Biodata_".$dataAll->biodata_nama.".pdf");
//$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
}

File di print.phtml
<style>
body {
margin: 65pt 28pt 40pt 28pt;
font-size: 1em;
}
</style>
<body>
<script type="text/php">

if ( isset($pdf) ) {

$font = Font_Metrics::get_font("verdana");;
$size = 6;
$color = array(0,0,0);
$text_height = Font_Metrics::get_font_height($font, $size);

$foot = $pdf->open_object();

$w = $pdf->get_width();
$h = $pdf->get_height();

// Draw a line along the bottom
$y = $h - $text_height - 24;
$pdf->line(16, $y, $w - 16, $y, $color, 0.5);

$pdf->close_object();
$pdf->add_object($foot, "all");

$header = $pdf->open_object();
$pdf->image("../public/Logo.png",'png',200,10, 200,50);
$pdf->close_object();
$pdf->add_object($header, "all");

$text = "Page {PAGE_NUM} of {PAGE_COUNT}";

// Center the text
$width = Font_Metrics::get_text_width("Page 1 of 2", $font, $size);
$pdf->page_text($w / 2 - $width / 2, $y, $text, $font, $size, $color);

}
</script>


Selengkapnya...

sintak untuk bootstrap.php di zend framework versi saya adalah sebagai berikut :



<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initDoctype()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->doctype('XHTML1_STRICT');
}

public function _initRegistry(){
// //$this->bootstrap("multidb.db1");
// $db1=$this->getResource("multidb.db1");
// $db2=$this->getResource("multidb.db2");
// Zend_Registry::set("db",$db1);
// Zend_Registry::set("db2",$db2);
}

public function _initDatabase(){
$resource = $this->getPluginResource('multidb');
$resource->init();

Zend_Registry::set('db1', $resource->getDb('db1'));
Zend_Registry::set('db2', $resource->getDb('db2'));
}

}


Selengkapnya...

Bagi yang baru belajar zend framework,mungkin sintak index.php ini bisa menjadi salah satu koleksi ada. Lho kok koleksi ???
He...he...
ya iyalah masak iyadong, sebenarnya sintak index.php bisa bervariasi tapi bagi yang belum jago rata mempunyai banyak masalah di index.php ini seperti saya.
Ngaku dech kalau saya tidak jago :(
Tapi tak papalah, orang yang jago khan berasal dari tidak jago di awalnya..
he..he.. mencoba menghibur diri sendiri.
Jadi panjang lebar dech,langsung ke codenya saja ya. codenya sebagai berikut :

<?php
date_default_timezone_set("Asia/Jakarta");
session_start();

// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),realpath(APPLICATION_PATH.'/../application/models'),
get_include_path(),
)));

require_once ("Zend/Loader/Autoloader.php");
require_once ("dompdf/dompdf_config.inc.php");
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
$autoloader->pushAutoloader('DOMPDF_autoload');


$mconfig = array('auth' => 'login',
'username' => 'register@joborobo.com',
'password' => 'jobo1234',
'ssl' => 'tls',
'port' => 587);
$tr = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $mconfig);
Zend_Mail::setDefaultTransport($tr);

$writer = new Zend_Log_Writer_Stream('output.log');
$logger = new Zend_Log($writer);
Zend_Registry::set('logger',$logger);

$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => 'Application'
));

$resourceLoader->addResourceType('form', 'forms', 'Form')
->addResourceType('model', 'models', 'Model');

require_once 'Custom/MyAccessValidation.php';
///// noka

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
'sementara',
APPLICATION_PATH . '/configs/application.ini'
);

$application->bootstrap()
->run();
?>
Selengkapnya...

Terkadang sebagai analys coding, kita harus memeriksa code yang buanyak dan ribet. Tak jarang pula kita harus cek coding dengan 10 if bersarang dimana setiap ifnya masih ada while or foreach or for. Ribet banget khan wat tau kesalahan codenya dimana, nah itu dia masalahnya. Sekarang mari kita cari solusinya.

Sebenarnya kita dapat membuat log atau file sementara untuk mengetahui hasil dari suatu kondisi atau perulangan tersebut.Nah sintak untuk membuat log di zend adalah sebb:
require_once 'Zend/Log.php';
require_once 'Zend/Log/Writer/Stream.php';

$logger = new Zend_Log();
$writer = new Zend_Log_Writer_Stream('test123.txt');
$logger->addWriter($writer);
//$logger->log('Testing Info Message', Zend_Log::INFO);
$logger->info($form);
Salam sukses selalu ya.
Buat yang mau copas, jangan lupaa cantumkan sumbernya ya ^_^

Selengkapnya...

Untuk mengambil data di zend framework, kita dapat menggunakan beberpa code.
Codenya sebagai berikut :
$this->_request->getParams();
$this->_request->getPost();
$this->_request->getQuery();
$this->getRequest()->getParams();

KT:
$uris=explode("/",$_SERVER['REQUEST_URI']);
foreach($uris as $uri) {
if(is_numeric($uri)){
$currentId=$uri; break;
}
}
Salah satu contoh pemakaiannya adalah sebagai berikut :
Untuk di controller
$request=$this->getRequest();
$this->view->assign('nama',$request->getParam('txtNama'));
$this->view->assign('mood',$request->getParam('txtMood'));
Untuk dip html
Selamat datang : <?php echo $this->nama; ?>
<br>
Saat ini mood kamu : <?php echo $this->mood; ?>

Catatan :
Untuk memanggil nilai dengan post or get sebaiknya di assign terlebih dahulu sehingga dalam pemanggilan di file .phtml lebih mudah (cukup $this->nama di dalam assign)
Selengkapnya...