Hiển thị các bài đăng có nhãn PHP. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn PHP. Hiển thị tất cả bài đăng

Thứ Năm, 16 tháng 10, 2014

Sửa lỗi You don't have permission to access /phpmyadmin/ on this server Wamp

Solution:

goto C:\wamp\alias\ and edit the phpmyadmin.conf file using notepad

Alias /phpmyadmin "c:/wamp/apps/phpmyadmin2.11.6/"

# to give access to phpmyadmin from outside
# replace the lines
#
#        Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
#
# by
#
#        Order Allow,Deny
#   Allow from all
#

<Directory "c:/wamp/apps/phpmyadmin2.11.6/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
 Allow from all
 Allow from 127.0.0.1
</Directory>

Thay toàn bộ code trên vào file của bạn. Chú ý nhớ sữa đường dẫn thư mục phpmyadmin đúng với thư mục mà bạn cài đặt nhé.

Chủ Nhật, 29 tháng 12, 2013

Loại bỏ các thẻ html có trong chuỗi dữ liệu

dùng hàm strip_tags để bỏ đi các thẻ html có trong chuỗi khi hiển thị lên web
strip_tags($chuỗi);

Chủ Nhật, 10 tháng 3, 2013

HÀM TRONG PHP


HÀM TRONG PHP

HÀM XỬ LÝ CHUỖI
1.     Hàm strlen: Đếm số ký tự của chuỗi
strlen:
<? $str = 'abcdef';
   echo strlen($str);
?> <br />
1.     Hàm strpos, stripos: Tìm chuỗi con trong chuỗi mẹ
strpos:
<? $me="abcDabcd";
   $con="d";
   echo strpos($me, $con);
?> <br />
2.     Hàm str_replace, str_ireplace: Thay thế chuỗi con bằng một chuỗi khác
str_replace:
<? $str="ab_AB_ab";
   echo str_replace("ab","xy",$str);
?> <br />
3.     Hàm number_format : Định dạng số
number_format 1234.5678 :
<? $n = 1234.5678;
echo "en = ", number_format($n, 2, '.'',' );
echo "vi = ", number_format($n, 2 , ',' , '.' );
?> <br/>
4.     Hàm strip_tags: Cắt bỏ cc tag html
strip_tags: <? echo strip_tags("<b><i>PHP</i></b>"); ?> <br />
5.     Hàm strstr: Trích chuỗi con
strstr: <? echo strstr("teo@yahoo.com","@");?> <br />
6.     Hàm substr: Trích chuỗi con
substr: <? echo substr("teo@yahoo.com",4,50);?> <br />
7.     Hàm mb_convert_case: Đổi chữ hoa<->thường MB_CASE_LOWER, MB_CASE_UPPER, MB_CASE_TITLE
mb_convert_case:
<? echo mb_convert_case("lập trình ứng dỤng",MB_CASE_TITLE,'utf-8'); ?> <br />
8.     Hàm md5: Mã hóa 1 chuỗi
md5: <? echo md5("123");?> <br />
9.     Hàm sha1: Mã hóa 1 chuỗi
sha1: <? echo sha1("123");?> <br />

HÀM THỜI GIAN
10. Hàm time: Cho giờ hiện hành
time: <? echo time() ?> <br />
11. Hàm checkdate: Kiểm tra ngày hợp lệ hay không
checkdate:
<? echo (checkdate(13,17,2010)==true)? "Ngày hợp lệ":"Ngày không hợp lệ";?>
12. Hàm date: Định dạng ngày
date:<br />
Now:  <? echo date("d/m/Y H:i:s");?> <br />
Thứ trong tuần: <? echo date("w");?> <br />
Tên thứ trong tuần: <? echo date("D") ;?> <br />
Tên thứ trong tuần: <? echo date("l");?> <br />
Tên tháng: <? echo date("M") ;?> <br />
Tên tháng:<? echo date("F");?> <br />
Ngày trong năm: <? echo date("z");?> <br />
13. Hàm strtotime: Đổi chuỗi thành dạng timestamp
strtotime:<br />
Now: <? echo strtotime("now");?> <br />
+1 day: <? echo date("d/m/Y H:i:s", strtotime("+1 day"));?> <br />
+1 week: <? echo date("d/m/Y H:i:s", strtotime("+1 week") );?> <br />
+1 week 2 days 4 hours 2 seconds: <? echo date("d/m/Y H:i:s",strtotime("+1 week 2 days 4 hours 2 seconds")) ?> <br>
next Thursday: <? echo date("d/m/Y", strtotime("next Thursday") )?> <br />
last Monday: <? echo date("d/m/Y", strtotime("last Monday") )?> <br />
10 September 2000: <? echo date("d/m/Y",strtotime("10 September 2000") )?> <br/>

HÀM XỬ LÝ FILE
14. Hàm basename: Lấy tên file
basename:
<? $file = "/php01/hamPHP.php";
   echo basename($file);
?> <br />
15. Hàm filesize: Lấy kích thước file
filesize:
<? $f = "php02.sql";
   echo filesize($f).' bytes';
?> <br />
16. Hàm file_exists: Kiểm tra 1 file có tồn tại hay không
file_exists:
<?  $f = "php02.sql";
    if ( file_exists($f) == true) echo "Có file"; else echo "Không có file";
?> <br/>
17. Hàm fopen, fclose, fread: Mở, đóng, đọc nội dung file text
fopen, fclose, fread:
<? $file = "readme.txt";
   $f = fopen($file,"r+");
   $str = fread($f, filesize($file) );
   fclose($f);echo $str;
?> <br />
18. Hàm unlink: Xóa file
unlink: <? unlink("readme2.txt");?> <br />
19. Hàm mkdir: Tạo folder
mkdir: <? mkdir("hinh/dulich",0777,true);?> <br />
20. Hàm copy: Sao chép file
copy: <? copy("php02.sql", "php02bis.sql") ;?> <br />
21. Hàm rename: Đổi tên file
rename: <? rename("php02bis.sql","abc.sql");?> <br />
22. Hàm file_get_contents: Đọc toàn bộ nội dung 1 file text
file_get_contents:
<? $str = file_get_contents("readme.txt");
   echo $str;
?> <br />

CÁC HÀM KHÁC
23. Hàm isset: Kiểm tra sự tồn tại của 1 biến
isset:
<?php $x=1;
if (isset($x)==true) echo "Có biền x"; else echo "Không có biến x ";
if (isset($y)==true) echo "Có biền y"; else echo "Không có biến y ";
?>
24. Hàm unset: Hủy bỏ 1 biến
unset:
<?php $x=1; $y=2;
unset($x);
if (isset($x)==true) echo "Có biền x"; else echo "Không có biến x ";
if (isset($y)==true) echo "Có biền y"; else echo "Không có biến y ";
?>

Class Singleton

Singleton là một class điều hành lớp qua phương thức static.Nó chỉ cho phép ta tạo một đối tượng duy nhất.

Ý nghĩa các hàm addslashes, mysql_real_escape_string, htmlspecialchars

- Một là: dữ liệu đó có chứa các kí tự đặc biệt (ví dụ như dấu ‘ , ” , /, …) làm cho câu query của chúng ta bị lỗi cú pháp.

Do đó trong trường hợp này, ta cần phải có hàm để xử lý các biến trước khi đưa vào câu query. Và ứng cử viên sáng giá hiện giờ là: addslashes, mysql_real_escape_string
+ Phân biệt addslashes, mysql_real_escape_string:* Thông thường các hệ quản trị cơ sở dữ liệu(HQTCSDL) đều có hàm xử lý kí tự đặc biệt, nên php chỉ cần chuyển qua cho HQTCSDL
Đối với Mysql thì khi ta gọi hàm mysql_real_escape_string thì php sẽ chuyển xuống cho mysql xử lý (do đó trước khi dùng hàm này, phải gọi hàm mysql_connect)
Đối với PostgreSql thì khi ta gọi hàm pg_escape_string thì php sẽ chuyển xuống cho PostgreSql xử lý
* Đối với các HQTCSDL không có hàm xử lý các kí tự đặc biệt thì ta sẽ dùng chính php để xử lý, thông qua hàm addslashes
- Hai là: dữ liệu đó không làm ảnh hưởng đến cú pháp của câu query, được thêm vào bình thường, nhưng khi hiển thị lên, nó làm cho tài liều html của chúng ta bị lỗi cú pháp.

Cắt chuỗi trong PHP với hàm substr()


Cắt chuỗi trong PHP với hàm substr()



Cũng như các ngôn ngữ lập trình khác, PHP hỗ trợ hàm substr() để cắt chuỗi con với chiều dài l bắt đầu từ vị trí thứ i từ chuỗi str được cung cấp.
Cú pháp.

String substr(string str, int i [, int l])

Trong đó: – int l: Tham số tùy chọn. Điều này có nghĩa là nếu bạn không cung cấp chiều dài của chuỗi cần lấy ra, hàm này sẽ trả về chuỗi con từ vị trí thứ i đến hết chuỗi như ví dụ sau:

<?php
$str=”Ho Tro Lap Trinh”;
echo $str.”<br/>”; // Hiển thị chuỗi gốc.
echo substr($str,1).”<br/>”; // Cắt chuối con từ vị trí 1 đến hết chuỗi
echo substr($str,-6).”<br/>”; //Cắt từ vị trí số 6 đếm từ cuối chuỗi đến hết chuỗi
echo substr($str,1,9).”<br/>”; // Cắt từ vị trí số 1 đến vị trí số 9
echo substr($str,2,-10).”<br/>”; //Cắt từ vị trí số 2 đến vị trí số 10 từ cuối chuỗi.
?>

Hàm __construct trong PHP5

Hàm __construct()

là hàm tự động  tự động chạy khi bạn khởi tạo khởi tạo object = new class?

cứ hiểu __construct trong PHP5 là để không phải viết lại 1 method cùng tên với class giống như trong PHP4 mà thôi, nhiệm vụ của nó là SET var. Cùng với __construct() là hàm __destruct() làm nhiệm vụ UNSET var. Hai methods này cùng với một số methods khác như __call(), __get(), __set(), __isset(), __unset()... trong PHP5 gọi là Magic Methods.

Thứ Ba, 5 tháng 3, 2013

Thay đổi port wamserver khi cài đồng thời WAMP Server và IIS


ví dụ như 8080 chẳng hạn cho WAMP Server để có thể chạy WAMP Server theo địa chỉ http://localhost:8080 và IIS 7 vẫn chạy ở địa chỉhttp://localhost như bình thường.
Để thực hiện được điều này, chúng ta cần thực hiện một số bước như sau:
  • Nhấn lên biểu tượng của WAMP Server trên thanh tác vụ và chọn Apache > httpd.conf để mở file cấu hình đó ra.
  • Đổi ‘Listen 80’ thành ‘Listen 8080’.
  • Lưu và khởi động lại WAMP Server.
Khi WAMP Server đã khởi động lại thành công, chúng ta có thể truy cập WAMP Server theo địa chỉ http://localhost:8080, còn ở địa chỉ http://localhost IIS 7 vẫn chạy bình thường sử dụng cổng mặc định (80).

Chủ Nhật, 3 tháng 3, 2013

Model bài toán nan giải dành cho các framework.

Model bài toán nan giải dành cho các framework.

Hầu hết các PHP Frameworkđều xây dựng trên mô hình M-V-C một trong những design pattern. Mô hình này sẽ tách code thành 3 phân vùng khác nhau với 3 trách nhiệm khác nhau. Controller sẽ đóng vai trò tiếp nhận request (yêu cầu) để chuyển chúng tới cho Model. Lúc này model sẽ vận hành các cấu trúc Active Record hoặc SQL thuần để lấy ra thông tin từ database sau đó đổ chúng vào dạng mảng. Lúc này khi controller yêu cầu tới request nào nó sẽ đẩy mảng thông tin đó vàoview. Tại view để lấy được các giá trị trong mảng, ta lại phải duyệt mảng để lấy ra từng phần tử đơn lẻ như thế. Việc này càng làm cho ứng dụng trở nên chậm chạp. Góp phần gia tăng % "rùa" củaPHP Framework.

PHP Frameworks nào phổ biến nhất hiện nay ?

Dưới đây là 5 framework được đánh giá là tốt và phổ biến nhất hiện nay:
The Zend Framework

Zend Framework có 1 cộng đồng phát triển rộng lớn, và nó tập trung vào các ứng dụng web theo phong cách 2.0. Vì được phổ biến rộng rãi, và có 1 cộng đồng người dùng tích cưc, Zend được gọi là “Công ty PHP”. Zend là 1 trong những framework phổ biến nhất hiện nay. Nó có các tính năng mạnh mẽ, thường được sử dụng cho các công ty lớn, và bạn cần phải có lượng kiến thức khá sâu rộng về PHP để có thể sử dụng được nó.

CakePHP
CakePHP là 1 lựa chọn tuyệt với cho những lập trình viên có kiến thức nâng cao về PHP. Nó dựa trên cùng 1 nguyên tắc thiết kế với Ruby on Rails, là 1 framework mạnh về khía cạnh rapid development , giúp lập trình viên đẩy nhanh quá trình phát triển ứng dụng của họ. Với các hệ thống hỗ trợ, tính đơn giản và mỗi trường mở cao đã giúp cho CakePHP trở thành 1 trong nhữngframework phổ biến nhất hiện nay.

Symfony
Symfony được ra đời nhằm mục đích giúp đỡ nâng cao hơn cho những lập trình viên muốn tạo ra các ứng dụng website doanh nghiệp. Đây là 1 PHP framework mã nguồn mở với đầy đủ các tính năng cần thiết. nhưng nó có vẻ chạy chậm hơn các framework khác. 

Codelgniter
Codelgniter được biết đến như 1 framework dễ hiểu và dễ sử dụng, cho hiệu suất cao. Không giống như Symfony, PHP framework này phục vụ mục đích lý tưởng cho việc xây dưng các ứng dụng chia sẻ , lưu trữ. Nó cung cấp các giải pháp đơn giản, và có một thư viện video hướng dẫn phong phú, diễn đàn hỗ trợ, và cung cấp sẵn 1 hướng dẫn sử dụng cho người mới bắt đầu. PHP framework này rất phù hợp cho 1 người mới làm quen với framework.

Seagull
Seagull cũng là 1 PHP framework tốt phục vụ cho việc xây dưng website và các GUI. Nó là 1 framework cực kỳ dễ sử dụng cho cả những người mới mới làm quen với lập trình PHP đến những chuyên gia trong lập trình PHP. Với những người mới làm quen với lập trình PHP, Seagull cung cấp 1 thư viện các mẫu ứng dụng có thể được tùy chỉnh để phù hợp với nhu cầu của bạn. Đối với các chuyên gia PHP, Seagull cung cấp các tùy chọn máy chủ, bao gồm các phương pháp hay nhất, tiêu chuẩn, và modular codebase – giúp các lập trình viên xây dựng các ứng dụng web một cách nhanh chóng và dễ dàng. Seagull có một cộng đồng phát triển rộng lớn và nhiều tài liệu hướng dẫn hỗ trợ.

Tóm lại:
PHP framework là 1 giải pháp tuyệt vời cho các lập trình viên phát triển các kỹ năng như: giảm thiểu việc viết lại mã, tăng tốc quá trình phát triển ứng dụng, và chuẩn hóa mã lệnh khi xây dựng các ứng dụng web. Không chỉ giúp các bạn cải thiện tốc độ phát triển ứng dụng, nó còn giúp bạn giảm thiểu các lỗ hổng bảo mật 1 cách triệt để. PHP framework phù hợp cho cả những người mới làm quen hay những bạn đã có kiến thức vững về PHP.

Ngày nay, có rất nhiều PHP framework được cung cấp, và vì vậy chắc chắn các bạn có thể tìm ra một framework có các tính năng phù hợp với nhu cầu của mình -- hỗ trợ, tốc độ, quy mô và nhiều hơn nữa. Một số PHP framework phổ biến nhất hiện này bao gồm: Zend Framework, CakePHP, Symfony, Codelgniter, và Seagull.


Tại sao chúng ta nên sử dụng PHP Framework?

Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework, nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền tăng tốc quá trình phát triển ứng dụng. Việc sử dụng lại các mã lệnh giống nhau trong nhiều project sẽ giúp các bạn tiết kiệm được thời gian và công sức 1 cách đáng kể. Một framework sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lập trình viên có thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn là mất thời gian để xây dựng lại nền tảng trên mỗi project.

PHP frameworks


Như các bạn đã biết, PHP là 1 ngôn ngữ script rất phổ biến hiện nay bởi những lý do: linh hoạt, dễ sử dụng, dễ học, ..v…v. nhưng đôi khi việc viết mã PHP, hay bất cứ ngôn ngữ (lập trình) nào khác, có thể trở nên đơn điệu và lủng củng. Đó là lúc PHP framework có thể giúp bạn.

PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp đỡ các bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên. Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn dành nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project.

Ý tưởng chung đằng sau cách thức làm việc của 1 PHP framework được kể đến là Model View Controller (MVC). MVC là 1 mô hình (kiến trúc) trong lập trình, cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phần riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ. Trong cụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ (business logic), View được hiểu là phần xử lý lớp giao diện (presentation layer), và Controller làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như 1 route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp. Về cơ bản, MVC chia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trên từng thành phần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới. Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn. Bạn có thể tham khảo thêm về ứng dụng mô hình MVC trong PHP tại đây: http://www.qhonline.info/forum/showthread.php?t=392
 
Tại sao chúng ta nên sử dụng PHP Framework?

Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework, nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền tăng tốc quá trình phát triển ứng dụng. Việc sử dụng lại các mã lệnh giống nhau trong nhiều project sẽ giúp các bạn tiết kiệm được thời gian và công sức 1 cách đáng kể. Một framework sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lập trình viên có thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn là mất thời gian để xây dựng lại nền tảng trên mỗi project.

Sự ổn định là 1 lý do lớn đối với các lập trình viên đang sử dụng Framework. Tính đơn giản là 1 điểm mạnh của PHP, đó là lý do tại sao lại có nhiều người thích sử dụng nó, nhưng đồng thời đó cũng là điểm yếu của nó. PHP thì khá dễ học và sử dụng, đặc biệt là đối với những người mới làm quen với lập trình, tuy nhiên, họ có thể thường xuyên viết mã 1 cách không khoa học và thậm chí không hề nhận thức được điều này, với PHP, trong nhiều trường hợp các ứng dụng vẫn sẽ làm việc được, nhưng vô tình họ có thể tạo ra các lỗ hổng bảo mật lớn trong mã lệnh của mình, và bị hacker khai thác. 

Hầu hết các PHP framework đều có sẵn rất nhiều thành phần mở rộng (extensive), và cũng có rất nhiều framework khác nhau để các bạn lựa chọn. Bạn thậm chí còn có thể tự viết riêng cho mình 1framework. Tuy nhiên, bạn nên cân nhắc kỹ trước khi quyết định sử dụng 1 framework nào cho mình hay không, nên tự đặt câu hỏi cho chính mình là: Nó có tiết kiệm được cho bạn thời gian và công sức hay không ? Có giúp ứng dụng bạn hoạt động tốt hơn không ? Có cải thiện được sự ổn định cho ứng dụng không? Hãy tìm ra câu trả lời cho chính mình để quyết định xem bạn có cần xàiframework hay chưa, và nên xài framework nào.
Khi nào thì sử dụng PHP Framework?

Đây thường là 1 câu hỏi chung của cả những người đã có kinh nghiệm và mới bắt đầu trong lập trình PHP, và cũng không có câu trả lời trực tiếp nào cho câu hỏi này. Với những bạn mới bắt đầu, 1framework cũng có cung cấp những tính năng đơn giản và ổn định, vì thế bạn cũng nên tập sử dụng framework bất cứ khi có thể. Nó sẽ giúp bạn giảm bớt, hoặc loại bỏ các đoạn mã thiếu tính khoa học, và tăng tốc cho quá trình xây dựng ứng dụng của bạn.

Mắt khác, đối với các lập trình viên PHP đã có kinh nghiệm, framework được xem như 1 công cụ giúp đỡ các lập trình viên còn yếu, chưa biết làm thế nào để viết mã 1 cách gọn gang, tốt hơn và có khoa học. Cho dù điều này là đúng hay sai trong các cuộc thảo luận, nhưng sự thật không thể phủ nhận là PHP framework là 1 công cụ được sử dụng để tiết kiệm thời gian và giúp cho việc viết code chặt chẽ hơn.

Khi làm việc trên 1 project với thời gian giới hạn chặt chẽ, sử dụng PHP framework là 1 lợi thế rất lớn, nó có thể giúp tăng tốc quá trình viết mã. Vì thế, nếu bạn đang làm việc trong 1 tình trạng thời gian gấp rút, PHP framework sẽ rất có ích cho bạn. Một trường hợp khác, bạn nên quan tâm đếnPHP framework là khi bạn làm 1 project với số lượng mã phải viết quá lớn, nó sẽ giúp công việc của bạn trở nên bớt dài dòng hơn.
 
Những điểm cần lưu ý khi lựa chọn 1 PHP Framework ?

Có rất nhiều loại PHP framework sẵn có hiện nay cho bạn lựa chọn, thậm chí bạn có thể tự tạo ra 1 PHP framework cho riêng mình, tuy nhiên, điều này chỉ được khuyến khích dành cho các chuyên gia PHP (PHP expert) , những người đã có kiến thức và hiểu biết vững vàng về framework. Khi bạn cần tìm một loại PHP framework phù hợp nhất với nhu cầu của mình, đừng quên lưu ý về độ phổ biến của nó, ngoài ra ứng dụng web của bạn được phát triển bởi bao nhiêu người cũng là 1 điều nên lưu ý. Một PHP framework càng được phổ biến, tức là nó càng được nhiều người sử dụng và phát triển. Mặt khác, nếu bạn muốn xây dựng ứng dụng cho website của riêng mình, tốt nhất bạn nên chọn 1 PHP framework phù hợp và dễ sử dụng nhất đối với nhu cầu của bạn – không quan trọng nó có được nhiều người sử dụng hay không.

Các yếu tố bạn nên lưu ý trước khi muốn tìm kiếm 1 PHP framework để sử dụng bao gồm như sau: dễ sử dụng, phát triển nhanh và hiệu quả, phổ biến giữa các developer, có các tính năng mạnh mẽ, có diễn đàn hỗ trợ. Hầu hết các framework đều có các điểm yếu và thế mạnh khác nhau, ví dụ Zend Framework đã được phổ biến từ version 1.3 và có đầy đủ các tính năng mạnh mẽ, cộng thêm 1 cộng đồng phát triển hỗ trợ extension rộng lớn. Ngược lại, CakePHP lại là 1 loại PHP framework khác, mới ra đời sau này, nhưng lại ít có cộng đồng phát triển hỗ trợ hơn Zend, nhưng nó cũng được nhiều người lựa chọn vì tính thân thiện với người dùng và dễ sử dụng.

Như bạn có thể thấy, mỗi loại PHP framework đều có lợi thế riêng của nó, thế nên tốt nhất là bạn nên tìm hiểu kỹ và xài thử để có chọn lựa đúng đắn cho nhu cầu của mình. Ngoài ra bạn có thể nhờ những người đã có kinh nghiệm sử dụng tư vấn thêm cho mình, họ sẽ giúp bạn phân tích các tính năng cần thiết cho nhu cầu của mình và nên sử dụng loại nào.
Những điểm cần lưu ý khi sử dụng 1 PHP framework ?

Lỗi là điều không thể tránh khỏi trong việc lập trình, nhưng PHP framework sẽ giúp bạn hạn chế rất nhiều sai sót bằng cách cung cấp các thư viện mã lệnh chuẩn. Viết lại các đoạn mã lặp lại nhiều lần không cần thiết sẽ dễ dẫn đến việc phát sinh lỗi, và PHP framework sẽ loại bỏ vấn đề này giúp bạn.

Tuy nhiên, bạn vẫn phải có những chú ý khi sử dụng bất kỳ PHP framework nào. Ví dụ, nếu bạn không phải là 1 chuyên gia lập trình PHP, bạn nên sử dụng 1 loại framework phổ biến, có 1 cộng đồng hộ trợ rộng lớn. Vẫn có rất nhiều loại framework có ít hoặc không có cộng đồng hỗ trợ, và các loại framework này chủ yếu được viết bởi các cá nhân nào đó với kiến thức không chuyên sâu. 

Một số lỗi phổ biến khác là do bạn không bảo đảm được cấu hình để xuất phiên bản database và web server tương thích với framework. Ví dụ, Seagull PHP Framework đề xuất cấu hình như sau:

  • PHP: PHP 4.3.0 is the minimum, later versions work fine, as do versions PHP 5.1.1 and above. Avoid anything in the 5.0.x series
  • MySQL: MySQL 4.0.x, 4.1.x and 5.0.x are all supported. You can also use 3.23.x.
  • Apache: Seagull works fine with 1.3.x and 2.x series of Apache
Nếu bạn không đáp ứng được các yêu cầu này, thì framework sẽ không thể hoạt động 1 cách hiệu quả được. Thậm chí nếu bạn là 1 chuyên gia PHP, bạn cũng nên xem qua các tài liệu hướng dẫn về cấu hình đề xuất của framework trước khi muốn sử dụng nó. Ngoài ra việc xem hướng dẫn cài đặt của 1 framework sẽ giúp bạn tránh được những lỗi không cần thiết và tiết kiệm được thời gian để đi vào phát triển ứng dụng của mình cho những lần sau.
PHP Frameworks nào phổ biến nhất hiện nay ?

Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn bời hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, dẫn đến các cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì thực tế không phải tất cả các framework đều được xây dựng trên khuôn khổ dành cho nhiều người sử dụng. Dưới đây là 5 framework được đánh giá là tốt và phổ biến nhất hiện nay:


nguon http://www.thietkewebdep.net.vn

Lập trình PHP là gì?

PHP viết tắt từ (Hypertext PreProcessor) là một ngôn ngữ lập trình, 1 loại mã dùng để phát triển các ứng dụng chạy cho máy chủ, mã nguồn mở, mục đích dùng tổn quát, nó thích hợp để lập trình web, ứng dụng web, tốc độ nhanh, dễ học, thời gian xây dựng sản phẩm nhanh hơn các ngôn ngữ khác

Thứ Hai, 25 tháng 2, 2013

Code lấy thời gian hiện tại date_default_timezone_set()


Code lấy thời gian hiện tại date_default_timezone_set();

<?php
date_default_timezone_set('Asia/Ho_Chi_Minh');
echo gmdate("d/m/Y H:i:s", time());
?>

kết quả : 24/07/2012 07:35:47       

Cách lấy mã số tự động để chèn vào csdl



Cách lấy mã số tự động để chèn vào csdl, với ngày + tháng + năm + mã số,truy vấn Mysql .

ta có bảng masotudong: có 1 cột: idms nvarchar(50)

<?php
 include 'ketnoidata.php';
 date_default_timezone_set('Asia/Ho_Chi_Minh');
 $mahs=0;
$sql = "select max(convert(right(idms,4), decimal)) as max from matudong where left(idms,8) = '".date("dmY")."';";
$result = mysql_query($sql)
    or die("Lỗi chọn: ".mysql_error());
while($row = mysql_fetch_array($result))
    $mahs = $row["max"] + 1;
if($mahs < 10)
    $mahs = date("dmY")."000".$mahs;
else if($mahs < 100)
    $mahs = date("dmY")."00".$mahs;
else if($mahs < 1000)
    $mahs = date("dmY")."0".$mahs;
else
    $mahs = date("dmY").$mahs;
?>

<input type="text" name="txtid" value="<?php echo $mahs; ?>"/>       

Thứ Năm, 7 tháng 2, 2013

Tổng hợp các hàm xử lý chuỗi trong PHP


Tổng hợp các hàm xử lý chuỗi trong PHP

Category: PHP, Tag:
09/17/2012 03:09 pm
Xử lý chuỗi.

1: addcslashes :Trích dẫn chuỗi kí tự với những vạch chéo trong kiểu C
*Cấu trúc :addcslashes(string with special characters);

2: addslashes :Trích dẫn chuỗi kí tự với những vạch chéo
*Cấu trúc : addcslashes(a string with special characters);

3: bin2hex :Chuyển đổi dữ liệu dạng nhị phân sang dạng biểu diễn hệ hexa
*Cấu trúc :bin2hex(string);

4: chop :Tách bỏ nhưng khoảng trắng từ cuối một chuỗi

5: chr : Cho một kí tự đặc biệt trong bảng mã
*Cấu trúc : chr(numeric);

6: chuck split : Tách một chuỗi thành các chuỗi nhỏ hơn

7: convert cyr string :Chuyển đổi từ một kí tự kirin sang một kí tự khác

8: count_chart : Cho thông tin về các kí tự dùng trong chuỗi

9: crc32 : Tính toán sự thừa vòng đa thức của một chuỗi
Tự động tạo ra chu ki kiểm tra tổng thừa của đa thức dài 32bit trong một chuỗi

10: crypt :Một cách mã hóa một chuỗi

11: echo : In ra một hay nhiều chuỗi

12: explode :Tách một chuỗi ra bởi chuỗi kí tự

13: fprintf :Viết một định dạng chuỗi ra một dòng

14: get html translation table :Cho ra bảng dịch bằng cách sử dung các thủ tục

html entity decode :

15: hebrev :Chuyển đổi văn ban logic khó hiểu sang văn ban trưc quan

16: hebrevc :Chuyển đổi văn ban logic khó hiểu sang văn ban trưc quan với sự chuyển đổi dòng mới

17: html entity decode :Chuyển đổi tấtcả cácthực thể HTML sang những kí tự có thể dùng được của chúng

18: htmlentities :Đổi tất cả các kí tự được sử dung sang các thực thể HTML

19: htmlspecialchars :Đổi những kí tự đặc biệt sang các thực thể của HTML

20: implode :Nối các phần tử của mảng với một chuỗi

21: join :Hàm này là một bí danh của hàm implode

22: levenshtein :Tính khoảng cách giữa hai chuỗi

23: localeconv :Lấy ra thông tin quy cách số

24: lstrim-- Strip whitespace from the beginning of a string
=>Xoá khoảng trắng từ phần tử đầu tiên của chuỗi

25: md5_file-- Calculates the md5 hash of a given filename
=>Mã hoá md5 tên file

26: md5 -- Calculate the md5 hash of a string
=>Mã hoá md5 1 chuỗi

27: metaphone -- Calculate the metaphone key of a string
=>Tính siêu khoá âm thanh của 1 chuỗi

28: money_format -- Formats a number as a currency string
=> Định dạng 1 số như 1 chuỗi tiền tệ

29: nl_langinfo -- Query language and locale information
=>Ngôn ngữ truy vấn và biên tập thông tin

30: nl2br -- Inserts HTML line breaks before all newlines in a string
=>Chèn 1 dòng ngắt HTML trước tất cả những dòng mới trong 1 chuỗi
31: number_format -- Format a number with grouped thousands
=>Định dạng 1 số với hàng nghìn chữ số

32: ord -- Return ASCII value of character
=>Trả lại giá trị ASCII của kí tự

33: parse_str -- Parses the string into variables
=>Phân tách chuỗi thành các biến số

34: print -- Output a string
=>In ra 1 chuỗi

35: printf -- Output a formatted string
=>In ra 1 chuỗi được định dạng

36: quoted_printable_decode -- Convert a quoted-printable string to an
8 bit string
=>Chuyển 1 chuỗi có thể in trích dẫn sang 1 chuỗi 8 bit.(Giải mã)

37: quotemeta -- Quote meta characters
=>Trích dẫn kí tự đặc biệt

38: rtrim -- Strip whitespace from the end of a string
=>Xoá khoảng trắng từ phần tử cuối cùng của chuỗi

39: setlocale -- Set locale information
=>Thiết lập vị trí thông tin

40: sha1_file -- Calculate the sha1 hash of a file
=>Mã hoá sha1 1 file

41: sha1 -- Calculate the sha1 hash of a string
=>Mã hoá sha1 1 chuỗi

42: similar_text -- Calculate the similarity between two strings
=>Cho số kí tự giống nhau của 2 chuỗi

43: soundex -- Calculate the soundex key of a string
=>Tính khoá chỉ âm của 1 chuỗi

44: sprintf -- Return a formatted string
=>Trả lại 1 chuỗi được định dạng

45: sscanf -- Parses input from a string according to a format
=>Phân tách chuỗi theo 1 định dạng

46: str_ireplace -- Case-insensitive version of str_replace().
=>Tương tự str_ replace().

47: sscanf -- Parses input from a string according to a format
->Phân tích từ loại nhập vao từ một chuỗi theo một định dạng

48: str_ireplace -- Case-insensitive version of str_replace().
->Thay thế ngược lại khi chuỗi đã bị thay thế bằng str_replace()

49: str_pad -- Pad a string to a certain length with another string
->Co một chuỗi tới một độ dài nào đó với một chuỗi khác

50: str_repeat -- Repeat a string
->Lặp lại một chuỗi

51: str_replace -- Replace all occurrences of the search string with the replacement string
->Thay thế tất cả các biến cố của chuỗi tìm kiếm với một chuỗi thay thế

52: str_rot13 --Perform the rot13 transform on a string
->Thực hiện mã hoá theo rot 13 trên 1 chuỗi

(Rot-13 :Trong các nhóm tin của mạng USENET, đây là một kỹ thuật mật mã hoá đơn giản, nó làm dịch từng ký tự đi 13 vị trí trong bảng chữ cái (cho nên e sẽ thành r). Mật mã rot- 13 được dùng cho mọi thông báo tin bất kỳ nào có thể làm mất sự thú vị của một người nào đó (như) cách giải cho một trò chơi chẳng hạn hoặc xúc phạm một số người đọc (như) bài thơ về tình dục chẳng hạn. Nếu người đọc cho giải mã thông báo tin này bằng cách phát ra một lệnh thích hợp, thì người đọc đó - chứ không phải tác giả của thông báo - sẽ phải chịu trách nhiệm đối với sự khó chịu do việc đọc thông báo gây ra.)

53: str_shuffle --Randomly shuffles a string
->Thay đổi một chuỗi bằng cách xê dịch ngẫu nhiên

54: str_split -- Convert a string to an array
->Đổi một chuỗi thành một mảng

55: str_word_count -- Return information about words used in a string
->Trả lại thông tin về những từ đã sử dụng trong một chuỗi

56: strcasecmp -- Binary safe case-insensitive string comparison
->So sánh chuỗi theo …case-insensitive.. nhị phân

57: strchr --Alias of strstr()
->Bí danh của strstr()

58: strcmp --Binary safe string comparison
->Sự so sánh chuỗi bằng cơ sở nhị phân

59: strcoll --Locale based string comparison
->Nơi diễn ra sự so sánh cơ sở

60: strcspn -- Find length of initial segment not matching mask
->Tìm độ dài của đoạn đầu tiên mà không tìm thấy trên bề mặt của chuỗi này đối với chuỗi kia.

61: strip_tags --Strip HTML and PHP tags from a string
->Loại bỏ các thẻ HTML và PHP từ một chuỗi

62: stripcslashes -- Un-quote string quoted with addcslashes()
->Loại bỏ các dấu slashe trong chuỗi do hàm addcslashes() tạo ra.

63: stripos -- Find position of first occurrence of a case-insensitive string
->Tìm ra vị trí đầu tiên của chuỗi này trong chuỗi kia của trường hợp sử lý cặp chuỗi.

64: stripslashes -- Un-quote string quoted with addslashes()
->Loại bỏ hàm addslashes(), hay nói cách khác, hàm này trả về giá trị ban đầu của chuỗi khi chuỗi bị hàm addslashes() chèn các dấu slashe ở các ký tự đặc biệt

65: stristr -- Case-insensitive strstr()
->Loại bỏ hàm strstr() khi trong chuỗi có dấu chấm.

66: strlen --Get string length
->Lấy độ dài của chuỗi

67: strnatcasecmp -- Case insensitive string comparisons using a "natural order" algorithm
->So sánh chuỗi theo thứ tự abc, các ký tự được xét từ đầu đến cuối chuỗi
(VD: a2>a12>a11).

68: strnatcmp -- String comparisons using a "natural order" algorithm
->So sánh chuỗi sử dụng thứ tự abc và thứ tự toán học, nhưng được tính trên toàn bộ chuỗi ( VD: a12 > a11>a2).

69: strncasecmp -- Binary safe case-insensitive string comparison of the first n characters
->Là một hàm giống như strcasecmp(), khác ở chỗ hàm này có thể chỉ rõ số ký tự trong mỗi chuỗi đem so sánh.


70: strncmp: trả ra giá trị mà chuỗi1 dài hơn so với sâu hai.

71: strpos: Tìm vì trí xuất hiện đầu tiên của một chuỗi này trong chuỗi khác.

72: strrchr: Tìm kiếm vị trí xuất hiện cuối cùng của một kí tự trong chuỗi.

73: strrev: Đảo ngược một chuỗi.

74: strripos: Tìm vị trí cuối cùng của chuỗi này khiến nó khác một chuỗi cho trước.

75: strrpos: Tìm vị trí lần xuất hiện cuối cùng cùng của một kí tự trong một chuỗi.

76: strspn: Tính xem độ dài đoạn đầu của một chuỗi mà chứa toàn các kí tự thuộc chuỗi khác.

77: strstr: Lấy ra một đoạn của chuỗi từ vị trí xuất hiện kí tự cho trước.

78: strtok: chia cắt chuỗi.

79: strtolower: biến kí tự chữ hoa thành chữ thường.

80: strtoupper: biến kí tự chữ thường thành chữ hoa.

81: strtr: chuyển đổi kí tự theo một qui tắc nào đó.

82: substr_compare: không có thông tin.

83: substr_count: Tính số lần xuất hiện của một chuỗi này trong một chuỗi khác.

84: substr_replace: thay thế một đoạn văn bản trong phạm vi một đoạn của chuỗi kí tự.

85: substr: trả ra một phần của chuỗi.

86: trim: Loại bỏ kí tự thừa(whitespace)ở đầu và cuối mỗi chuỗi.

87: ucfirst: viết hoa kí tự đầu tiên của một chuỗi.

88: ucwords: viết hoa kí tự đầu tiên của mỗi từ.

89: vprints: xuất ra một chuỗi được định dạng

90: vsprint: quai lại một chuỗi định dạng.

91: wordswarp: chia chuỗi kí tự ra thành các sâu con nhờ một kí tự xác định.
Bitter Chocolate at 10/09/2012 10:18 pm comment
:) Bạn Đ nhà mình chăm chỉ post bài để giúp mọi người quá nhỉ ! tối vui nhé!