Pear Zend Framework

การติดตั้ง การใช้งาน Pear Packages Zend

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน

OOP คืออะไร
OOP (Object-Oriented Programing) หรือการเขียนโปรแกรมเชิงวัตถุ เป็นการเขียนโปรแกรมที่แตกต่างจากการเขียนโปรแกรมแบบธรรมดา

(แบบโครงสร้าง: Structure Programing) เป็นการเขียนโปรแกรมที่มองสิ่งต่างๆของโปรแกรมเป็นวัตถุ
โปรแกรมเชิงวัตถุ สร้างมาจากกลุ่มของออบเจ็กต์ หรือวัตถุ ซึ่งแต่ละออบเจ็กต์จะบรรจุ Attribute(*1) และ Operation(*2) ภาย

ในตัวออกเจ็กต์เอง และแต่ละ Object จะเชื่อมต่อการทำงานเข้าด้วยกัน
(*1)Attribute คือ คุณสมบัติหรือตัวแปรที่มีความสัมพันธ์กับ Object
(*2)Operation คือ การกระทำหรือฟังก์ชันที่ Object สามารถการทำปรับเปลี่ยนตัวมันอง หรือแสดงผลออกมาภายนอกได้

ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุคือ
1. การจัดรูปแบบโค้ดเป็นระบบระเบียบ ทำให้ง่ายต่อการพัฒนา และแก้ไขในภายหลัง
2.มีการป้องกันของข้อมูล เพื่อป้องกันการนำข้อมูลไปใช้อย่างผิดๆ ดังนั้นหากต้องการนำข้อมูลภายใน Object ไปใช้
3.การนำไปใช้สามารถทำได้ง่ายไม่ยุ่งวุ่นวาย และสามารถนำไปใช้ซ้ำได้โดยไม่ต้องเขียนโค้ดใหม่

Class คือ เค้าโครงที่ใช้กำหนดลักษณะของออบเจ็กต์ และใช้แทนกลุ่มของออบเจ็กต์ แต่ละคลาส(Class) ประกอบไปด้วย

Operation เดียวกันกระทำในทิศทางเดียวกัน และ Attribute เดียวกันในการแทนสิ่งเดียวกัน
ยกตัวอย่างเช่น หุ่นยนต์ คิดเป็น Class ของ Object ที่ใช้อธิบายคุณลักษณะต่างๆ เปรียบได้กับ Attribute เช่น กลไกในการ

เคลื่อนที่ หน่วยความจำ และการกระทำต่างๆของหุ่นยนต์เปรียบได้กับ Operation เช่นการเคลื่อนที่ของหุ่นยนต์

ในบทต่อไปจะพูดถึงเรื่อง Object-Oriented PHP

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
Usage: phpunit [switches] UnitTest [UnitTest.php]
       phpunit [switches] <directory>

  --log-junit <file>        Log test execution in JUnit XML fo
  --log-tap <file>          Log test execution in TAP format t
  --log-dbus                Log test execution to DBUS.
  --log-json <file>         Log test execution in JSON format.

  --coverage-html <dir>     Generate code coverage report in H
  --coverage-clover <file>  Write code coverage data in Clover

  --testdox-html <file>     Write agile documentation in HTML
  --testdox-text <file>     Write agile documentation in Text

  --filter <pattern>        Filter which tests to run.
  --group ...               Only runs tests from the specified
  --exclude-group ...       Exclude tests from the specified g
  --list-groups             List available test groups.

  --loader <loader>         TestSuiteLoader implementation to
  --repeat <times>          Runs the test(s) repeatedly.

  --tap                     Report test execution progress in
  --testdox                 Report test execution progress in

  --colors                  Use colors in output.
  --stderr                  Write to STDERR instead of STDOUT.
  --stop-on-error           Stop execution upon first error.
  --stop-on-failure         Stop execution upon first error or
  --stop-on-skipped         Stop execution upon first skipped
  --stop-on-incomplete      Stop execution upon first incomple
  --strict                  Mark a test as incomplete if no as

  --verbose                 Output more verbose information.
  --wait                    Waits for a keystroke after each t

  --skeleton-class          Generate Unit class for UnitTest i
  --skeleton-test           Generate UnitTest class for Unit i

  --process-isolation       Run each test in a separate PHP pr
  --no-globals-backup       Do not backup and restore $GLOBALS
  --static-backup           Backup and restore static attribut
  --syntax-check            Try to check source files for synt

  --bootstrap <file>        A "bootstrap" PHP file that is run

  -c|--configuration <file> Read configuration from XML file.
  --no-configuration        Ignore default configuration file
  --include-path <path(s)>  Prepend PHP's include_path with gi
  -d key[=value]            Sets a php.ini value.

  --help                    Prints this usage information.
  --version                 Prints the version and exits.

  --debug                   Output debugging information.

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
Zend-framework.png

Zend หลายคนคงคุ้นหูแต่นึกไม่ออกว่าคืออะไร หากถามว่ารู้จัก PHP มั๊ย หลายคนก้อร้องอ๋อขึ้นมาทันที Zend เป็นบริษัทที่พัฒนา Zend Platform (PHP) และผลิตภัณฑ์อื่นๆ เช่น Zend Optimizer, Zend Gard, Zend Studio เป็นต้น เอาล่ะวันนี้ผมพามาชำแหละผลิตภัณฑ์อีกตัวหนึ่งซึ่งได้รับความนิยมไม่แพ้กัน และที่สำคัญเป็นจุดกำเนิดการพัฒนาเว็บแอพลิเคชั่นแบบ MVC ของ PHP เลยทีเดียว (ไม่นับ CakePHP นะ) ผลิตภัณฑ์ที่ว่าคือ Zend Framework ปัจจุบันพัฒนามาจนถึงรุ่น 1.7 แล้วครับ ขึ้นชื่อว่า Framework ก้อคงจะทราบกันดีอยู่แล้วว่าจะต้องมีส่วนขยายและคอมโพเน้นที่ไม่มีใน PHP ปกติอย่างแน่นอน เอาล่ะวันนี้เราจะมาดูกัน

ทำความรู้จักกับ Zend Framework กันก่อน Zend Framework เป็นส่วนขยายของ PHP ซึ่งพัฒนาบนพื้นฐานของ object oriented programming โดยมุ่งพัฒนาให้เกิดความปลอดภัย มีสเถียรภาพ และง่ายต่อการพัฒนาแอพลิเคชั่นในแบบ Web 2.0 และ Web Service นอกจากนี้ยังรวมเอา APIs จากบริษัทชึ้นนำอย่าง Google, Amazon, Yahoo, Flickr และ APIs สำหรับระบบแคตตาล็อกสินค้าอย่าง StrikeIron และ ProgrammableWeb เป็นต้น Zend Framework พัฒนาโดยอาศัยหลักคิดแบบเรียบง่าย เพื่อให้เว็บแอพลิเคชั่นที่พัฒนามีขนาดเล็กและเบา ไลบรารีและคอมโพเน้นไม่ขึ้นต่อกันมากนัก ซึ่งคอมโพเน้นประมาณ 4 ใน 5 ของเว็บแอพลเคชั่นจะถูกรวบรวมไว้ให้แล้วนักพัฒนาเพียงพัฒนาเพิ่มอีก 20% ก้อจะได้เว็บแอพลิเคชั่นที่คุณหรือลูกค้าต้องการ ซึ่งทำให้การพัฒนาโปรแกรมทำได้รวดเร็วยิ่งขึ้น

คุณสมบัติเด่นที่ Zend Framework มีให้ใช้พัฒนาเว็บแอพลิเคชั่น
- AJAX และสนับสนุน JSON
- Search ใช้ Lucense search engine
- Syndication สามารถส่งออกรูปแบบข้อมูลและง่ายต่อการอ่านข้อมูลที่เว็บ 2.0 กำลังเป็นที่นิยม
- Web Services สนับสนุนการพัฒนา Web Service และการให้บริการ  Web Service
- มี OO PHP5 Class และ Library ที่มีคุณภาพสูง เพื่อให้ง่ายพัฒนาแอพลิเคชั่นซึ่งสนับสนุน design pattern, unit testing

คอมโพเน้นที่ Zend Framework มีให้
- MVC (Model-View-Controller) ได้แก่ Zend_Controller, Zend_Controller_Action, Zend_Controller_Dispatcher, Zend_Controller_Plugin, Zend_Controller_RewriteRouter, Zend_View, Zend_Http_Request, Zend_Http_Response
- Database ได้แก่ Zend_Db, Zend_Db_Table
- Internationalization (i18n) and Localization (l10n) ได้แก่ Zend_Date, Zend_Locale, Zend_Measure, Zend_Translate
- Authentication, Authorization และ Session management ได้แก่ Zend_Acl, Zend_Authentication, Zend_Session
- Web และ Web Service ได้แก่ Zend_Feed, Zend_Rest_Client, Zend_Service, Zend_XmlRpc_Client, Zend_Gdata, Zend_Http_Client, Zend_Http_Server, Zend_Rest_Server, Zend_Server_Documentor, Zend_Server_Reflection, Zend_Soap_Server, Zend_XmlRpc_Serve และ Zend_Uri
- Mail, Format และ Search ได้แก่ Zend_Json, Zend_Pdf, Zend_Mail, Zend_Mime, Zend_Search_Lucene
- Core Infrastructure ได้แก่ Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log, Zend_Memory, Zend_Debug, Zend_Environment, Zend_Loader, Zend_Registry, Zend_Version, Zend_Filter, Zend_Validate

ใครใช้ Zend Framework บ้าง
- Bwin Games AB
- FOX Interactive Media
- Magento
- Indianapolis Motor Speedway
- Right Media
- IBM

สถิติเกี่ยวกับ Zend Framework
- ดาวน์โหลดมากกว่า 7 ล้านครั้ง
- มี Contributor มากกว่า 500 ราย
- มีหน้าเว็บที่กล่าวถึง Zend Studio มากกว่า 1000 หน้า
- มีตัวอย่างมากกว่า 500 ตัวอย่าง
- มีจำนวน Hits มากกว่า 750 Hits ใน Technorati
- มีโครงการซอฟต์แวร์บน SourceForge ที่ใช้ Zend Framework เป็นพื้นฐานในการพัฒนา มากกว่า 60 โครงการ
- มีโครงการซอฟต์แวร์บน Google Code ที่ใช้ Zend Framework เป็นพื้นฐานในการพัฒนา มากกว่า 30 โครงการ
- มากกว่า 30000 Issues ที่ได้รับการแก้ไขในระบบ Issue Tracker

เขียนมายาวยืดมีใครใช้ Zend Framework กันบ้าง ขอเสียงหน่อยครับ เกือบลืมครับ ดาวน์โหลด Zend Framework ได้ที่ http://framework.zend.com


ที่มา: thaiopensource.org

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
ตั้งค่าให้ FileZilla ให้อัพได้ครั้งละหลายๆไฟล์

Edit >> FileZilla Options >> File transfer setting >> Transfer up ใส่ตัวเลขเป็น 5 หรือ 10 ไปเลยครับ
เท่านี้เจ้า FileZilla ของเราก็จะอัพโหลด หรือ ดาวน์โหลดไฟล์ได้ ครั้งละหลา่ยๆ ไฟล์ แล้ว


ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
เขียน Captcha (Image Verify) ป้องกัน bot Auto post
บทความนี้ผม ใช้ Zend Framework 1.5 (เป็นเวอร์ชั่นเก่าที่ยังไม่มี Zend_Captcha)
การใช้งาน สมมุติเรามี Application ที่เขียนบน Zend Framework อยู่แล้ว
การทำ Image Verify  ต้องใช้ Zend_Session_Namespace ด้วย ดังนั้น ตอนที่เราสร้าง Class สำหรับทำ Image Verify เราจำเป็นต้อง Load Class นี้ เข้ามาใช้งานด้วย
ตามโค้ดนี้
Zend_Loader::loadClass('Zend_Session_Namespace');

ส่วนโค้ดทั้งหมด
class ImagegeneratorController extends Zend_Controller_Action
{
    public function init()
    {
        $this->_helper->viewRenderer->setNoRender();
    }
     
    public function generatecaptchaAction()
    {
         Zend_Loader::loadClass('Zend_Session_Namespace');

            $defaultNamespace = new Zend_Session_Namespace('code_verify');
            $md5_hash = md5(rand(0,999));
 
            $security_code = substr($md5_hash, 15, 5);
            $defaultNamespace->security_code = $security_code;

     
    //Set the image width and height
    $width = 100;
    $height = 20;
    
    $image = ImageCreate($width, $height);
    
    $white = ImageColorAllocate($image, 255, 255, 255);
    $black = ImageColorAllocate($image, 0, 0, 0);
    $grey = ImageColorAllocate($image, 204, 204, 204);
    
    ImageFill($image, 0, 0, $black);
    
    ImageString($image, 3, 30, 3, $security_code, $white);
    
    ImageRectangle($image,0,0,$width-1,$height-1,$grey);
    imageline($image, 0, $height/2, $width, $height/2, $grey);
    imageline($image, $width/2, 0, $width/2, $height, $grey);
     
    //Tell the browser what kind of file is come in
    header("Content-Type: image/jpeg");
     
    //Output the newly created image in jpeg format
    ImageJpeg($image);
    }
}

-----------------------------------------
และใช้โค้ดนี้วางใน form (ไฟล์.phtml)  เพื่อให้แสดงรูปจาก Class ข้างบน
 < img src="baseUrl; ?>/imagegenerator/generatecaptcha" />


ส่วนวิธีตรวจสอบว่าคนกรอกกรอก Code ถูกหรือไม่ ก็ตรวจสอบตามนี้
$Code = $filter->filter($this->_request->getPost('Code'));
$defaultNamespace = new Zend_Session_Namespace('code_verify');           

if($Code != $defaultNamespace->security_code) {
 // โค้ดไม่ถูก
} else {
// work
}




บอร์ด php : http://www.mindphp.com/forums/index.php

ให้เรตสมาชิก

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน

การใช้งาน  ติดตั้ง Pear Php


http://www.pear.php.net
กระทู้ล่าสุดจากบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
โดย
หางานพิเศษ หารายได้เสริม PARTTIME รับด่วน!!
โดย Anonymous พฤ 31 ก.ค. 2014 10:53 pm บอร์ด โหลดโปรแกรม พูดคุยเรื่องทั่วไป จับฉ่าย
0
0
พฤ 31 ก.ค. 2014 10:53 pm โดย Anonymous
งานประจำวันที่ 31 กรกฏาคม 2557
โดย thitikorn_lp พฤ 31 ก.ค. 2014 9:58 am บอร์ด M021 - ธิติกร ลิ้มทองมณี
1
9
พฤ 31 ก.ค. 2014 9:58 am โดย thitikorn_lp
งานประจำวันที่ 31 กรกฎาคม 2557
โดย buay พฤ 31 ก.ค. 2014 9:53 am บอร์ด M018 - ณัฐกุล โนรินทร์
1
3
พฤ 31 ก.ค. 2014 9:53 am โดย buay
R - เพิ่มและปรับเปลี่ยน เนื้อหา
โดย mindphp พ 30 ก.ค. 2014 4:14 pm บอร์ด cdtu80.com
0
6
พ 30 ก.ค. 2014 4:14 pm โดย mindphp
ProFiles จัดการไฟล์แบบมีสไตล์
โดย varat พ 30 ก.ค. 2014 3:51 pm บอร์ด Joomla Extension Review
0
63
พ 30 ก.ค. 2014 3:51 pm โดย varat
[MOD] TinyPic Plugin
โดย buay พ 30 ก.ค. 2014 2:55 pm บอร์ด PHPBB3 Mod Review
0
49
พ 30 ก.ค. 2014 2:55 pm โดย buay
การอัพโหลดเป็นเรื่องง่ายด้วย Simple File Upload
โดย varat พ 30 ก.ค. 2014 1:57 pm บอร์ด Joomla Extension Review
0
63
พ 30 ก.ค. 2014 1:57 pm โดย varat
SCLogin การเข้าสู่ระบบที่ไม่ธรรมดา
โดย varat พ 30 ก.ค. 2014 1:22 pm บอร์ด Joomla Extension Review
0
65
พ 30 ก.ค. 2014 1:22 pm โดย varat
การแปลงข้อมูลจาก DBF เป็น MySQL (โดย PHPBB)
โดย buay พ 30 ก.ค. 2014 11:51 am บอร์ด PHP Knowledge
0
66
พ 30 ก.ค. 2014 11:51 am โดย buay
งานประจำวันที่ 30 กรกฏาคม 2557
โดย thitikorn_lp พ 30 ก.ค. 2014 9:59 am บอร์ด M021 - ธิติกร ลิ้มทองมณี
2
19
พ 30 ก.ค. 2014 9:59 am โดย thitikorn_lp
งานประจำวัน 30 กรกฎาคม 2557
โดย buay พ 30 ก.ค. 2014 9:50 am บอร์ด M018 - ณัฐกุล โนรินทร์
1
9
พ 30 ก.ค. 2014 9:50 am โดย buay
ดึงข้อมูล มาเเสดงเป็น radio button จะทำได้ยังค่ะ
โดย thatsawan อ 29 ก.ค. 2014 10:00 pm บอร์ด Programming - PHP
5
131
อ 29 ก.ค. 2014 10:00 pm โดย thatsawan
G - IP จริงที่จะทำ Demo ให้ลูกค้าดู
โดย mindphp อ 29 ก.ค. 2014 7:27 pm บอร์ด AZKing
2
18
อ 29 ก.ค. 2014 7:27 pm โดย mindphp
สร้าง dropdown
โดย Anonymous อ 29 ก.ค. 2014 6:24 pm บอร์ด HTML CSS
0
82
อ 29 ก.ค. 2014 6:24 pm โดย Anonymous
[ NOTE ] เตือนความจำ
โดย thitikorn_lp อ 29 ก.ค. 2014 5:08 pm บอร์ด M021 - ธิติกร ลิ้มทองมณี
4
11
อ 29 ก.ค. 2014 5:08 pm โดย thitikorn_lp
การเช็คค่าว่าง 2 แบบนี้ต่างกันยังไงคะ
โดย buay อ 29 ก.ค. 2014 4:49 pm บอร์ด Programming - PHP
0
97
อ 29 ก.ค. 2014 4:49 pm โดย buay
SQL INSERT เลขที่มีทศนิยมไม่ได้ ?
โดย thatsawan อ 29 ก.ค. 2014 3:14 pm บอร์ด SQL - Database
2
96
อ 29 ก.ค. 2014 3:14 pm โดย thatsawan
การติดตั้ง VirtualBox OS Windows
โดย varat อ 29 ก.ค. 2014 2:48 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
67
อ 29 ก.ค. 2014 2:48 pm โดย varat
ดีลิเคทด์เซิร์ฟเวอร์
โดย Anonymous อ 29 ก.ค. 2014 1:51 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
56
อ 29 ก.ค. 2014 1:51 pm โดย Anonymous
HD FLV Player เล่นวิดีโอแบบคมชัด
โดย varat อ 29 ก.ค. 2014 1:14 pm บอร์ด Joomla Extension Review
0
84
อ 29 ก.ค. 2014 1:14 pm โดย varat