Công Cụ Lập Trình – Tân Hồng IT http://localhost:82/demowp Siêu Chia Sẻ Kiến Thức, Công Nghệ, Phần Mềm, Thủ Thuật, Tiện Ích Máy Tính Sat, 25 Jan 2020 02:42:21 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.2 http://localhost:82/demowp/wp-content/uploads/2019/04/logo-TanHongIT-one-75x75.png Công Cụ Lập Trình – Tân Hồng IT http://localhost:82/demowp 32 32 Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2) http://localhost:82/demowp/learn-php/bai-7-vong-lap-foreach-trong-php/ http://localhost:82/demowp/learn-php/bai-7-vong-lap-foreach-trong-php/#respond Wed, 01 Jan 2020 09:37:29 +0000 http://localhost:82/demowp/?p=7604 Ở bài trước ta đã học về các loại vòng lặp như for, while, do while các bạn có thể xem lại Bài 6: Các loại Vòng lặp trong PHP (for, while, do while). Còn ở bài này mình sẽ vẫn giới thiệu về vòng lặp nhưng nội dung chỉ xoay quanh duy nhất một […]

The post Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2) appeared first on Tân Hồng IT.

]]>
Ở bài trước ta đã học về các loại vòng lặp như for, while, do while các bạn có thể xem lại Bài 6: Các loại Vòng lặp trong PHP (for, while, do while). Còn ở bài này mình sẽ vẫn giới thiệu về vòng lặp nhưng nội dung chỉ xoay quanh duy nhất một vòng lặp đó là vòng lặp foreach trong PHP.

vong lap foreach trong php
Vòng lặp foreach trong PJP

Vòng lặp foreach trong PHP

Vòng lặp foreach là loại loop được dùng để duyệt các phần tử trong mảng, object. Đây là loại vòng lặp thường sẽ được sử dụng rất nhiều trong các dự án PHP sau này, đặc biệt là các bài liên kết đến cơ sở dữ liệu.

Cú pháp

<?php
foreach ($variable as $key => $value) {
    // code...
}
?>

hoặc

<?php
foreach ($variable as $value) {
    // code...
}
?>

Trong đó:

  • $variableLà biến mà các bạn muốn lặp (có thể là array, object).
  • $keyLà các key của mảng hoặc properties của object.
  • $valueLà một biến tạm dùng để chứa giá trị được sao chép của từng phần tử của mảng, object.

Bài tập ví dụ 1

<?php
//Khởi tạo mảng có key tự tăng.
$array= [
    'A',
    'B',
    'C',
    'D'
];
// Lặp cả key lẫn value của mảng
foreach ($array as $key => $value) {
    echo "Đây là phần tử có key = $key và có giá trị= $value <br/>";
}
?>

Ở ví dụ trên thì $array là mảng ta truyền vào, $key $value là 2 tham số mà ở mỗi vòng lặp nó tự động truyền giá trị. Kết quae xuất ra màn hình là:

Phần tử có key = 0 và giá trị= A
Phần tử có key = 1 và giá trị= B
Phần tử có key = 2 và giá trị= C
Phần tử có key = 3 và giá trị= D

Cũng từ bài ví dụ trên ta có thể dùng theo cú pháp thứ 2 của vòng lặp foreach trong php như sau:

<?php
//Khởi tạo mảng có key tự tăng.
$array= [
    'A',
    'B',
    'C',
    'D'
];
// Lặp lại value của mảng
foreach ($array as $value) {
    echo "$value -";
}
?>

Ở mỗi vòng lặp foreach, PHP sẽ tạo ra các bản sao để chúng ta lấy dữ liệu của phần tử đang lặp đó, bản sao này sẽ được loại bỏ ngay lập tức sau khi kết thúc vòng lặp. Và ở mỗi vòng lặp sẽ kiểm tra còn phần tử liền kề hay không? Nếu còn thì vòng lặp được tiếp tục, ngược lại thì sẽ dừng.

Ở ví dụ trên, các bản sao của biến $array đã được tạo ra và mình đã không truyền biến $key vào trong vòng forech nên mình chỉ có thể xuất được các giá trị $value ra màn hình mà thôi.

Kết quả xuất ra màn hình sẽ là: A -B -C -D –

Dùng tham chiếu để thay đổi phần tử hiện tại trong mảng foreach

Hãy xem ví dụ bên dưới.

<?php
$mang = array('one', 'two', 'three', 'four', 'five');
foreach ( $mang as $value ) {
    $value = strtoupper($value); // hàm strtoupper dùng để in hoa chuỗi ký tự
}
echo '<pre>';
print_r($mang); //xuất mảng
?>

Kết quả ra màn hình sẽ là:

Array
(
    [0] => one
    [1] => two
    [2] => three
    [3] => four
    [4] => five
)

Ở ví dụ trên mình đã sử dụng hàm strtoupper nhằm mục đích in hoa hết các chuỗi ký tự là các giá trị của các phần tử có trong bảng array. Nhưng kết quả xuất ra màn hình vẫn là chứ thường.

Giải thích:

Khi bắng đầu 1 loop foreach, PHP sẽ tạo ra 1 bản sao của mảng gốc để lặp, cho nên khi thay đổi các giá trị trong mảng gốc thì sẽ không có tác dụng. Vì vậy khi lặp chúng ta sẽ truyền tham chiếu truy xuất đến mảng gốc, có như vậy thì PHP sẽ không tạo 1 bản copy mảng để dùng nữa mà nó sẽ được gọi đến và lặp trực tiếp trên mảng gốc. Khi này, chúng ta thay đổi giá trị các phần tử trong mảng gốc sẽ có tác dụng.

Cách gọi 1 tham chiếu cho biến: đặt thêm ký tự “&” trước biến đó.

Như vậy cũng từ ví dụ trên ta sẽ làm như sau:

<?php
$mang = array('Xin', 'Chao', 'Moi', 'Nguoi', 'Den', 'Voi', 'Khoa', 'Hoc', 'PHP', 'Can', 'Ban');
foreach ( $mang as &$value ) { //mình đã thêm ký tự & trước biến $value để gọi 1 tham chiếu
    $value = strtoupper($value); // hàm strtoupper dùng để in hoa chuỗi ký tự
}
echo '<pre>';
print_r($mang); //xuất mảng
?>

Ở đây mình đã sử dụng tham chiếu &$value để truy xuất đến mảng gốc, khi này ta thay đổi giá trị của các phần tử trong mảng gốc sẽ có hiệu lực và ra kết quả như sau.

Array
(
    [0] => XIN
    [1] => CHAO
    [2] => MOI
    [3] => NGUOI
    [4] => DEN
    [5] => VOI
    [6] => KHOA
    [7] => HOC
    [8] => PHP
    [9] => CAN
    [10] => BAN
)

Kết luận:

  • Foreach trong PHP sẽ tạo ra một bản sao của mảng để lặp.
  • Khi foreach đang lặp theo bản sao của mảng gốc thì thay đổi giá trị phần tử trong mảng theo cách thông thường sẽ không có tác dụng
  • Muốn thay đổi giá trị phần tử hiện tại trong khi lặp thì phải dùng tham chiếu.

Vòng lặp foreach lồng nhau (mảng 2 chiều)

Cũng như các vòng lặp đã được đề cập ở bài 6 thì đối với vòng lặp foreach trong bài này cũng có tính chất tương tự là có thể lồng nhau. Thường thì ta sẽ sử dụng vòng lặp foreach lồng nhau để duyệt phần tử của mảng 2 chiều.

Ví dụ: duyệt các phần tử của mảng 2 chiều bằng vòng lặp foreach:

<?php
//Khởi tạo mảng 2 chiều
$array = [
        0 => 1, 
        1 => [1 => 4, 2 => 6],
        2 => [1 => "aa", 2 => "bb"],
        3 => [1 => 10, 2 => "cc", 3 => 0]
];
foreach ($array as $value) {
    if (is_array($value)) {
        foreach ($value as $item) {
            echo $item . " - ";
        }
    } else
        echo $value . " - ";
}
?>

Như vậy ta sẽ có kêt quả như sau: 1 – 4 – 6 – aa – bb – 10 – cc – 0 –

Kết thúc:

Vậy là qua bài 6 và bài 7 này mình đã giới thiệu cho các bạn về 4 loạn vòng lặp khác nhau thường được dùng trong PHP. Nếu các bạn có thắc mắc nay cần tư vấn điều gì thì hãy để lại comment bên dưới bài viết này nhé!, Mình sẽ cố gắng hỗ trợ các bạn!

Hãy tiếp tục trong series học PHP căn bản ở các bài viết tiếp theo các bạn nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-7-vong-lap-foreach-trong-php/feed/ 0
Bài 6: Các loại Vòng lặp trong PHP (for, while, do while) http://localhost:82/demowp/learn-php/bai-6-cac-loai-vong-lap-trong-php/ http://localhost:82/demowp/learn-php/bai-6-cac-loai-vong-lap-trong-php/#respond Sat, 28 Dec 2019 13:39:16 +0000 http://localhost:82/demowp/?p=7560 Ở bài trước mình đã giới thiều về các biểu thức điều kiện if else và cấu trúc rẽ nhánh switch case, các bạn nếu chưa xem có thể xem thêm tại Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch). Tiếp tục lộ trình học PHP căn bản thì qua bài này […]

The post Bài 6: Các loại Vòng lặp trong PHP (for, while, do while) appeared first on Tân Hồng IT.

]]>
Ở bài trước mình đã giới thiều về các biểu thức điều kiện if else và cấu trúc rẽ nhánh switch case, các bạn nếu chưa xem có thể xem thêm tại Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch). Tiếp tục lộ trình học PHP căn bản thì qua bài này mình sẽ giới thiệu cho các bạn về vòng lặp (tên khác là Loop) trong PHP nhé!

vong lap trong php
Các Loại vòng lặp trong PHP

Vòng lặp là gì ?

Nói ngắn gọn thì vòng lặp được sử dụng để thực thi một đoạn code lặp đi lặp lại một số lần nhất định dựa trên giá trị trả về từ một điều kiện cho trước.

Các Loại Vòng Lặp Trong PHP

Khi lập trình đôi khi chúng ta sẽ cần chạy một đoạn code lặp đi lặp lại, lúc này sử dụng vòng lặp sẽ giúp chúng ta tránh việc phải thêm vào tập tin PHP những đoạn code giống nhau này nhiều lần.

Trong PHP chúng ta có các loại vòng lặp sau:

  • Vòng lặp while– Lặp một hành động dựa theo một điều kiện cụ thể mà nó trả về là true
  • Vòng lặp do...while– Lặp một hành động với số lần lặp nhất định
  • Vòng lặp for. – Lặp một hành động với số lần lặp nhất định
  • Vòng lặp foreach– Sử dụng để lặp các khoá và giá trị trong một dữ liệu mảng.

Vòng lặp for trong PHP

Thường bạn sử dụng vòng lặp này khi đã biết rõ trước số lần cần lặp lại là bao nhiêu.

Cú pháp

for ($bien_khoi_tao; $bieu_thuc_dieu_kien; $bieu_thuc_thay_doi_bien_khoi_tao)
{
    // phần câu lệnh thực thi vòng lặp
}
  • $bien_khoi_tao: là một câu lệnh chứa biến được gán giá trị ban đầu mà ta truyền vào trước khi chạy vòng lặp. Câu lệnh này chỉ thực hiện 1 lần duy nhất
  • $bieu_thuc_dieu_kien: là một biểu thức quan hệ nào đó nhằm mục đích xác định điều kiện thoát khỏi vòng lập.
  • $bieu_thuc_thay_doi_bien_khoi_tao: Là biểu thức xác định $bien_khoi_tao sẽ bị thay đổi như thế nào sau mỗi lần vòng lặp được lặp lại
Lưu ý: cú pháp khai báo vòng lặp là mỗi biểu thức phải cách nhua bằng dấu chấm phẩy ( ; )
Ví dụ: Xuất ra màn hình các số lần lượt tăng dần từ 0 đến 10.
<?php
for ($i = 0 ; $i <= 10 ; $i++){
    echo $i . '<br>';
}
?>
  • $i = 0 là biến khỏi tạo cho vòng lặp và có giá trị khởi tạo bằng 0
  • $i <= 10 là biểu thức điều kiện để dừng vòng lặp ( nếu $i <= 10 thì vòng lặp sẽ vẫn tiếp tục lặp, ngược lại nếu $i > 10 thì biểu thức sẽ hiểu là sai nên vòng lặp sẽ thoát
  • $i++ là biểu thức thay đổi biến khởi tại, sau mỗi lần lặp $i sẽ tăng lên 1

Ngoài ra khi khai báo cú pháp của vòng lặp thì trong thân của nó ta có thể thêm các biểu thức phụ bằng dấu phẩy để phâ biệt và ngăn cách chúng.

<?php 
for ($i = 0 , $j = 5 ; $i <= 10 ; $i++ , $j++)
{ 
    echo 'i = ' . $i . '<br>';
    echo 'j = ' . $j . '<br>'; // biến j sẽ xuất hiện theo thứ tự lần lượt cùng với biến i cho đến khi i>10 và kết thúc vòng lặp
} 
?>

Vòng lặp for lồng nhau

Nói một cách nôm na là có một vòng lặp cha sẽ bao một vòng lặp con khác bên trong nó. Ở mỗi lần lặp cho vòng lặp cha, vòng lặp con bên trong phải lặp hết điều kiện lặp của nó, sau đó mới lặp tiếp vòng lặp cha và cứ tiếp tục như vậy.

Như vậy ta sẽ thấy nó đang tuân thủ theo quy tắc phải thực hiện hết tất cả nội dung dòng lệnh bên trong vòng lặp rồi mới thực hiện vòng kế tiếp.

<?php 
$a=0;
for ($i = 0; $i < 10; ++$i)
{
    for ($j = 0; $j < 10; ++$j)
    {
        $a++;
        echo "Line $a =   " . $i*$j .'<br/>';
    }
}
?>

Với mỗi giá trị $i , chương trình thực hiện lệnh for($j=0;$j<10;++$j) 1 lần.

Bây giờ ta xét với vòng for($j=0;$j<10;++$j), và giá trị i là cố định, vòng for này sẽ thực hiện câu lệnh echo 10 lần.

Như vậy khi giá trị $i thay đổi 10 lần, với mỗi giá trị $i thì chương trình lại in câu lệnh echo 10 lần, như vậy tổng cộng là 100 lần in tất cả. Các bạn hãy code lại đoạn code cí dụ trên và chạy trên trình duyệt thử nhé!

Vòng lặp while trong PHP

Vòng lặp while cũng dùng để lặp dữ liệu như các vòng lặp khác nhưng ưu điểm của nó là có thể giải quyết những bài toán không biết chính xác số vòng lặp (một số bài toán thì for cũng có thể làm được) và cách sử dụng nó cũng rất đơn giản.

Cú pháp

while ($dieu_kien)
{
   // phần câu lệnh thực thi vòng lặp
}
  • $dieu_kien là điều kiện của vòng lặp. Nếu điều kiện trả về true thì vòng lặp sẽ chạy và ngược lại false thì sẽ dừng.
  • Suy ra nếu vòng lặp while sẽ lặp vô hạn nếu biểu thức điều kiện bạn truyền vào luôn luôn là true.

Ví dụ

liệt kê các số từ 1 tới 10 bằng cách sử dụng vòng lặp while.

<?php
    $i = 1; //khởi tạo biến $i bằng 1
    while ($i <= 10) {
        echo $i++;
    }
?>

Trong đó $i = 1 là biến dùng để lặp. Biểu thức $i <= 10 là điều kiện lặp. Bài toán sẽ thực hiện lặp cho đến khi $i = 10, vậy ta sẽ có 10 lần lặp và mỗi lần lặp biến $i sẽ tăng thêm 1 giá trị, như vậy ta sẽ có kết quả là lần lượt các số từ 1 đến 10 : 12345678910

Vòng lặp do while trong PHP

Đây là một vòng lặp ngược lại với các vòng lặp từ trước đến giờ, các vòng lặp khác kiểm tra điều kiện trước rồi với thực thi câu lệnh, còn vòng lặp do-while thực thi câu lệnh trước rồi mới kiểm tra điều kiện. Nếu điều kiện đúng thì sẽ thực hiện tiếp vòng lặp kế tiếp, nếu điều kiện sai thì sẽ dừng vòng lặp.

Vòng lặp do while tương tự như vòng lặp while tuy nhiên đoạn mã lệnh trong vòng lặp do while luôn được thực thi ít nhất một lần.

Cú pháp

<?php
    do{
        // phần câu lệnh thực thi vòng lặp
    }while($bieu_thuc_dieu_kien); //phải có dấu chấm phẩu sau khi hết thúc dòng while
?>

Chú ý: Phải có dấu ; ở phía sau while không chương trình sẽ báo lỗi.

Ví dụ

Liệt kê các số từ 1 tới 10 bằng cách sử dụng vòng lặp do while.

<?php
$i = 1; //khởi tạo biến $i bằng 1
do {
    echo $i++; // cộng thêm 1 đơn vị sau mỗi lần lặp
} while ($i <= 10); // nếu $i lớn hơn 10 dừng vòng lặp
?>

Tương tự như vòng lặp while, $i = 1 là biến dùng để lặp. Biểu thức $i <= 10 là điều kiện lặp. Bài toán sẽ thực hiện lặp cho đến khi $i = 10, vậy ta sẽ có 10 lần lặp và mỗi lần lặp biến $i sẽ tăng thêm 1 giá trị, như vậy ta sẽ có kết quả là lần lượt các số từ 1 đến 10 : 12345678910

Tuy rằng nó có thể giải quyết những bài toán không biết chính xác số vòng lặp, nhưng cả vòng lặp while lẫn vòng lặp do while đều rất dễ vị lặp vô hạn. Vì vậy khi code bạn phải cẩn thận về logic của bài toán, đặt biệt là biểu thức điều kiện.

Vòng lặp While, Do while lồng nhau

Tương tự như vòng lặp for và các mệnh đề quan hệ như if else thì cả 2 vòng lặp while và do while đều có thể lồng nhau.

Ví dụ 1: vẽ tam giác vuông với vòng lặp while lồng nhau.

<?php
$i = 0;
while ($i <= 10) {
    $j = $i;
    while ($j <= 10) {
        echo "*";
        $j++;
    }
    echo "<br>";
    $i++;
}
?>

Ví dụ 2: vẽ tam giác vuông với vòng lặp do while lồng nhau.

<?php
$i = 0;
do {
    $j = $i;
    do {
        echo "*";
        $j++;
    } while ($j <= 10);
    echo "<br>";
    $i++;
} while ($i <= 10);
?>

Khi nào nên sử dụng vòng lặp for, while, do while ?

Thông thường, đối với các bài toán khi đã biết rõ trước số lần cần lặp lại là bao nhiêu thì ta nên dùng vòng lặp for để thực hiện bài toán.

Còn đối với những bài toán không biết chính xác số vòng lặp thì ta nên dùng vòng lặp while hoặc do while.

Tuy nhiên ở một số bài toán, ta vẫn có thể sử dụng 3 vòng lặp trên để thực hiện theo 3 phương pháp khác nhau đều được. Tất cả là phụ thuộc vào kinh nghiệm của người lập trình, bạn sẽ là người quyết định nên dùng vòng lặp nào vào bài toán của bạn để nó chạy nhanh nhất và tối ưu hoá nhất cho chương trình của mình mà không phát sinh lỗi.

Kết thúc:

Thực ra vẫn còn 1 loại vòng lặp nữa là vòng lặp foreach. Nhưng mình sẽ nói riêng về vòng lặp này ở bài viết tiếp theo các bạn nhé!

Vòng lặp là một kiến thức cơ bản mà bạn nên nắm vững để sau này thực hiện nhiều bài toán trong dự án của bạn. Vì thế nếu có thắc mắc gì các bạn cứ để lại comment ở bên dưới bài viết mình sẽ cố gắng giải đáp nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 6: Các loại Vòng lặp trong PHP (for, while, do while) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-6-cac-loai-vong-lap-trong-php/feed/ 0
Mô hình Client-Server là gì và cách hoạt động Client-Server http://localhost:82/demowp/kien-thuc/mo-hinh-client-server/ http://localhost:82/demowp/kien-thuc/mo-hinh-client-server/#respond Mon, 23 Dec 2019 06:38:33 +0000 http://localhost:82/demowp/?p=7568 Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request) để máy chủ (đóng vai trò […]

The post Mô hình Client-Server là gì và cách hoạt động Client-Server appeared first on Tân Hồng IT.

]]>
Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách.

Trong mô hình này, chương trình ứng dụng được chia thành 2 thành phần: Server Client. Client hay còn gọi là máy khách, nó bao gồm máy tính và các thiết bị điện tử nói chung. Server hay còn gọi là máy chủ, là nơi cài đặt các chương trình dịch vụ và lưu trữ tài nguyên.

client server
Mô hình Client-Server

Việc yêu cầu của máy khách, đáp ứng, xử lý, và phản hồi của máy chủ tạo thành một dịch vụ. Dịch vụ này hoạt động trên nền web nên nó được gọi là dịch vụ web (hay web service).

Ngoài ra, việc giao tiếp giữa Client với Server phải dựa trên các giao thức chuẩn. Các giao thức chuẩn được sử dụng phổ biến nhất hiện nay là : giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hay giao thức LAN-to-LAN NetBIOS.

Vì sao các Website thường sử dụng mô hình client-server

  • Dữ liệu và tài nguyên được tập trung lại và tăng tính toàn vẹn của các dữ liệu.
  • Sự linh động trong việc mở rộng được hệ thống mạng.
  • Không phụ thuộc vào cùng một nền tảng, chỉ cần chung một định dạng giao tiếp (protocol) là có thể hoạt động được.

Chỉ có điều nhược điểm của mô hình này là tính an toàn và bảo mật các thông tin trên mạng. Do phải trao đổi các dữ liệu giữa hai máy ở hai khu vực khác nhau nên dễ dàng xảy ra hiện tượng thông tin trên mạng bị mất bí mật và từ đó vai trò của quản trị mạng trở nên quan trọng lên rất nhiều.

Bảng so sánh mô hình client server với các mô hình khác

Mô hình mạng / tiêu chí đánh giá Client Server Peer-to-Peer Hybrid
Khả năng bảo mật thông tin và độ an toàn Khả năng bảo mật và an toàn thông tin cao. Có thể điều chỉnh quyền truy cập thông tin. Khả năng bảo mật và an toàn thông tin kém. Phần lớn phụ thuộc vào mức độ quyền được chia sẻ. Khả năng bảo mật và an toàn thông tin cao. Có thể điều chỉnh quyền truy cập thông tin.
Khả năng cài đặt Cài đặt khá khó khăn. Cài dặt dễ dàng. Cài đặt khá khó khăn.
Yêu cầu về phần cứng và phần mềm Bao gồm:+ Máy chủ+ Hệ điều hành

+ Phần cứng

Chỉ cần ít phần cứng bổ sung. Ngoài ra không cần máy chủ và hệ điều hành như 2 mô hình trên. Bao gồm:+ Máy chủ+ Hệ điều hành

+ Phần cứng

Yêu cầu về quản trị mạng Cần phải có quản trị mạng Không cần quản trị mạng Cần phải có quản trị mạng
Có khả năng xử lý và lưu trữ tập trung không? Không Không
Chi phí cài đặt Chi phí cao Chi phí thấp Chi phí thấp

Cách thức mô hình client server hoạt động như thế nào ?

Quy trình hoạt đông được chia làm 2 bước:

Client

Các máy trạm trong mô hình này gọi là máy khách (client). Đây là nơi tiếp nhận những thao tác yêu cầu từ người dùng và sau đógởi các yêu cầu xử lý về máy chủ (server).

Phần phía Client là nơi trung gian tổ chức giao tiếp giữa người dùng với môi trường làm việc trên máy khách (client) và với phía Server. Sau khi tiếp nhận yêu cầu của người dùng, máy khách client sẽ thành lập các query string để gửi về phía Server.

Server

Phần phía Server quản lý các giao tiếp môi trường giữa Server và với các Client, tiếp nhận các yêu cầu dưới dạng các xâu ký tự (query string). Sau khi phân tích các query string được request từ máy khách client, phần phía Server sẽ xử lý dữ liệu và gửi kết quả trả lời về phía các Client.

Sau đó sẽ hiện lên màn hình đến cho người dùng.

Ưu điểm mô hình client-server là gì?

Ưu điểm của mô hình client server là với mô hình client server thì mọi thứ dường như đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin,…) với nhiều dịch vụ đa dạng mà mô hình cũ không thể làm được.

Mô hình client-server cung cấp một nền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS)…

Nhược điểm mô hình client server là gì?

Như đã nói ở các phần trên, nhược điểm duy nhất của mô hình này là tính an toàn và bảo mật các thông tin trên mạng. Do phải trao đổi các dữ liệu giữa hai máy ở hai khu vực khác nhau ở xa nhau nên dễ dàng xảy ra hiện tượng thông không được an toàn.

Một số ví dụ về mô hình client server

Mail Server

Ở bên phía Client, người dùng soạn thảo Email và sẽ gửi đến Mail Server, phía bên Mail Server sẽ tiếp nhận và lưu trữ, tìm kiếm địa chỉ của mail được gửi đến và gửi đi.

Web Server

Lưu trữ các trang Web. khi người dùng ở phía máy Client nhập địa chỉ của trang web, Client sẽ gửi yêu cầu đến máy chủ Web và máy chủ Web sẽ gửi toàn bộ nội dung của trang web về cho phía Client.

File Server

Lưu trữ các tập tin. Nhận và truyền đi các tập tin về phía Client , người dùng có thể download – upload các tập tin lên Server qua Web browser hoặc là giao thức FTP

Các cấu hình cơ sở dữ liệu Client/Server

Nhìn chung mọi ứng dụng cơ sở dữ liệu đều bao gồm các phần:

  • Thành phần xử lý ứng dụng (Application processing components)
  • Thành phần phần mềm cơ sở dữ liệu (Database software componets)
  • Bản thân cơ sở dữ liệu (The database itself)

Các mô hình về xử lý cơ sở dữ liệu khác nhau là bởi các trường hợp của 3 loại thành phần nói trên định vị ở đâu. Bài viết này này xin giới thiệu 5 mô hình kiến trúc dựa trên cấu hình phân tán về truy nhập dữ liệu của hệ thống máy tính Client/Server.

  1. Mô hình cơ sở dữ liệu tập trung (Centralized database model)
  2. Mô hình cơ sở dữ liệu theo kiểu file – server (File – server database model)
  3. Mô hình xử lý từng phần cơ sở dữ liệu (Database extract processing model)
  4. Mô hình cơ sở dữ liệu Client/Server (Client/Server database model)
  5. Mô hình cơ sở dữ liệu phân tán (Distributed database model)

Ngoài ra ta còn có một mô hình ngược lại là mô hình master-slaver, trong đó máy chủ (đóng vai trò ông chủ) sẽ gửi dữ liệu đến máy con (đóng vai trò nô lệ) bất kể máy con có cần hay không.

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG
via wiki, bkhost, internet

The post Mô hình Client-Server là gì và cách hoạt động Client-Server appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/kien-thuc/mo-hinh-client-server/feed/ 0
Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch) http://localhost:82/demowp/learn-php/bai-5-bieu-thuc-dieu-kien-trong-php/ http://localhost:82/demowp/learn-php/bai-5-bieu-thuc-dieu-kien-trong-php/#respond Sun, 15 Dec 2019 01:58:50 +0000 http://localhost:82/demowp/?p=7538 Biểu thức điều kiện trong PHP là tập hợp các câu điều kiện để thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau. Cũng tương tự như các ngôn ngữ lập trình khác, PHP hỗ trợ các biểu thức điều kiện sau: if if…else if…elseif…else switch Giải thích: Chỉnh ta […]

The post Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch) appeared first on Tân Hồng IT.

]]>
Biểu thức điều kiện trong PHP là tập hợp các câu điều kiện để thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau.

Cũng tương tự như các ngôn ngữ lập trình khác, PHP hỗ trợ các biểu thức điều kiện sau:

  • if
  • if…else
  • if…elseif…else
  • switch
bieu thuc dieu kien trong php
Biểu thức điều kiện trong php

Giải thích: Chỉnh ta hầu hết đều biết các chương trình thường chạy theo một trình tự từ trên xuống mà không chừa bất kì một dòng code nào (ngoại trừ các dòng comment). Nhưng trong thực tế, đối với một số chương trình chúng ta cần chúng chạy theo nhiều luồng chứ không phải theo trình tự như vậy. Vì thế, biểu thức điều kiện đã ra đời.

Biểu thức điều kiện if

Biểu thức điều kiện if, hay còn thường gọi là câu điều kiện if cho phép ta đưa ra các quyết định dựa trên việc kiểm tra điều kiện nào đó đúng (true) hay sai (false).

Cú pháp

if(bieu-thuc-dieu-kien){
  //Câu lệnh
}

Ví dụ:

<?php
  $so=50;
  if($so % 2 == 0){ //điều kiện kiểm tra số chẵn
    echo "Số ".$so." là số chẵn";"
  }

  if($so >= 0){ //điều kiện kiểm tra số dương
    echo "Số ".$so." là số dương";
  }
?>

Giải thích:

  • Ta gán biến $so có giá trị là 50.
  • Kiểm tra phần dư sau khi lấy $so chia cho 2 có bằng 0 hay không (toán tử % dùng để chia lấy số dư, tham khảo lại toán tử trong Bài 4: Toán tử và biểu thức trong PHP). Nếu đúng thì echo ra kết quả.
  • Điều kiện kiểm tra số dương từ dòng số 7 trở đi cũng có ý nghĩa tương tự.

Biểu thức điều kiện if else trong PHP

Nói một cách đơn giản, bạn sẽ thực hiện đoạn code thứ nhất được bao trong if() nếu điều kiện đặt ra là đúng (true), ngược lại nếu điều kiện đó là sai (false) thì bạn sẽ thực hiện đoạn code thứ 2 được bao bởi else. Trong trường hợp này, bạn sẽ phải dùng đến câu lệnh if else trong PHP.

if (biểu_thức_điều_kiện){
   //câu lệnh 1
   //phần code này được thực thi nếu điều kiện là true
}
else{
   //câu lệnh 1
   //phần code này được thực thi nếu điều kiện là false
}

Giải thích:

  • Nếu biểu_thức_điều_kiện đúng thì Những Câu Lệnh 1 sẽ được thực hiện và Những Câu Lệnh 2 sẽ không được thực hiện.
  • Ngược lại nếu biểu_thức_điều_kiện sai thì những câu lệnh 1 sẽ bị bỏ qua và sẽ thực hiện những câu lệnh 2.

Ví dụ:

$so = 20;
if ($so % 2 == 0){
    echo 'Số ' . $so . ' Là Số Chẵn';
}
else{
    echo 'Số ' . $so . ' Là Số Lẻ';
}

Giải thích:

  • Ta gán biến $so có giá trị là 20.
  • Kiểm tra phần dư sau khi lấy $so chia cho 2 có bằng 0 hay không (toán tử % dùng để chia lấy số dư, tham khảo lại toán tử trong Bài 4: Toán tử và biểu thức trong PHP). Nếu đúng thì echo ra kết quả Số 20 Là Số Chẵn, nếu sai thì cho ra Số 20 Là Số Lẻ.3

Biểu thức điều kiện if…elseif…else trong PHP

Nói đơn giản về ý nghĩa của biểu thức này hơn đó là kết hợp nhiều câu lệnh if else trong một bài code. Bới vì trong thực tế, không phải lúc nào cũng chỉ có 2 điều kiện mà sẽ có hàng chục điều kiện khác nhau, lúc này ta phải kết hợp nhuần nhuyễn giữa 2 lệnh if và else để xử lý bài toán.

Ví dụ: Ta xuất thông tin chào đón các học sinh vào năm học mới theo khối lớp của trường trung học cơ sở.

<html>
   <body>
      <?php
         $lop="Lop 6";
         if ($lop == "Lop 6")
            echo "Chào mừng các em học sonh lớp 6!";
         elseif ($lop == "Lop 7")
            echo "Chào mừng các em học sonh lớp 7!";
         elseif ($lop == "Lop 8")
            echo "Chào mừng các em học sonh lớp 8!";
         else
            echo "Chào mừng các em học sonh lớp 9!"; 
      ?>
   </body>
</html>

Giải thích:

  • Nếu $lop bằng ‘Lop 6’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 6”,
  • Ngược lại nếu bằng ‘Lop 7’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 7”,
  • Ngược lại nếu bằng ‘Lop 8’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 8”,
  • Ngược lại không cần kiểm tra gì nữa vì là trương hợp cuối cùng, không phải là các trưởng hợp ở trên nên ta xuất ra màn hình “Chào mừng các em học sinh lớp 9”.

Biểu thức điều kiện if else lồng nhau trong PHP

Biểu thức điều kiện có rất nhiều biến thể, đặc biệt là các biểu thức được lồng vào nhau. Tức là sẽ có 1 hoặc nhiều câu điều kiện if con nằm trong một câu điều kiện if cha nào đó. (Riêng bản thân mình thường tự gọi đây là 1 dạng biểu thức điều kiện đa cấp).

Ví dụ: Cho một số và kiểm tra xem số đó bé hơn 100 hay không. Nếu bé hơn thì kiểm tra tiếp xem số đó có là số dương hay không. Nếu số đó cũng là số dương thì hãy kiểm tra tiếp xem số đó là số chẵn hay số lẻ. Sau đó xuất ra màn hình các kêt quả phù hợp.

<html>
<body>
    <?php
    $so = 800; // cho 1 giá trị là 80
    if ($so < 100) // Nếu số bé hơn 100, thì điều kiện kiểm tra là đúng và ta sẽ chạy tiếp câu lệnh bên trong
    {
        if ($so > 0) { // Nếu số lớn hơn 0 thì điều kiện kiểm tra là đúng và chạy tiếp lệnh bên trong
            if ($so % 2 == 0) { // Nếu số dư khi chia cho 2 = 0, tức là số chẵn ta sẽ chạy tiếp câu lệnh bên trong
                echo "So " . $so . " Là số chẵn, lớn hơn 0 và bé hơn 100";
            } else echo "So " . $so . " Là số lẻ, lớn hơn 0 và bé hơn 100";
        } elseif ($so % 2 == 0) { // Ngược lại đây sẽ là số bé hơn 0 và ta tiếp tục kiểm tra nếu số dư khi chia cho 2 = 0, tức là số chẵn ta sẽ chạy tiếp câu lệnh bên trong
            echo "So " . $so . " Là số chẵn và bé hơn 0";
        } else echo "So " . $so . " Là số lẻ và bé hơn 0";
    }
    else //trường hợp này đã ra ngoài phạm vi yêu cầu của đề bài, tức là số cho trước khi này sẽ lớn hơn 100
        echo "Ngoài vùng phủ sóng :3 ";
    ?>
</body>
</html>

Lưu ý khi dùng các biểu thức quan hệ if, if…else, if…elseif…else

  • Biểu Thức chứa trong cặp dấu ngoặc tròn () chính là các biểu thức quan hệ. Có thể kết hợp nhiều biểu thức quan hệ thông qua toán tử && (nghĩa là AND) hay || (nghĩa là OR)
  • Trong một khối lệnh nếu bên trong chứa nhiều hơn 2 lệnh thì phải có cặp ngoặc nhọn {} dùng để mở khối lệnh và đóng khối lênh, như vậy trình biên dịch sẽ hiểu đây là một khối lệnh và nó sẽ thực thi hết khối lệnh này.

Biểu thức Switch Trong PHP

Câu lệnh switch trong php cho phép ta đưa ra quyết định có nhiều cách lựa chọn để giá trị của biểu thức truyền vào. Mục đích của lệnh switch hay được sử dụng để tránh các khối if…elseif…else dài.

switch ($variable) {
    case $value_1:
       // các câu lênh 1
       break;
    case $value_2:
        // các câu lệnh 2
        break;
    default:
        // các câu lệnh khác
        break;
        //phần code này được thực thi nếu biểu_thức là khác với $value_1, $value_2, ...
}

Giá trị ở case chỉ chấp nhận các kiễu dữ liệu string, INT, boolean, null, foat hoặc là một biểu thức có kết quả trả về một trong năm loại dữ liệu đó và toán tử quan hệ so sánh trong switch luôn luôn là ==

Ví dụ: Chương trình xác định 1 số và xuất ra tên tháng tương ứng với số đó.

<html>
<body>
    <?php
        $th = 1;
        switch ($th)
        {
            case 1:
                echo 'Tháng một';
                break;
            case 2:
                echo 'Tháng hai';
                break;
            case 3:
                echo 'Tháng ba';
                break;
            case 4 :
                echo 'Tháng bốn';
                break;
            case 5 :
                echo 'Tháng năm';
                break;
            case 6 :
                echo 'Tháng sáu';
                break;
            case 7 :
                echo 'Tháng bảy';
                break;
            case 8 :
                echo 'Tháng tám';
                break;
            case 9 :
                echo 'Tháng chín';
                break;
            case 10 :
                echo 'Tháng mười';
                break;
            case 11 :
                echo 'Tháng mười một';
                break;
            case 12 :
                echo 'Tháng mười hai';
                break;
            default:
                echo 'Tháng không tồn tại';
                break;
        }
    ?>
</body>
</html>

Ngoài ra, cũng tương tự như câu lệnh if, câu lệnh switch cũng có thể lồng nhau.

<?php
$a = 5;
// Kiểm tra $a có phải là số nguyên không
$check = is_int($a); 
switch ($check) {
    // Nếu $a là số nguyên thì thực thi dòng lệnh bên dưới
    case "true": 
        switch ($a) {
            case 0:
                echo "a bằng 0";
                break;
            case 2:
                echo "a bằng 2";
                break;
            case 3:
                echo "a bằng 3";
                break;
            case 4:
                echo "a bằng 4";
                break;
            case 5:
                echo "a bằng 5";
                break;
            default:
                echo "$a";
        }
        break;
    default: // Nếu $a không là số nguyên thì thực thi dòng lệnh bên dưới
        echo "a không là số nguyên";
}
?>

Qua bài viết này mình đã giới thiệu sơ lược về các biểu thức điều kiện như if, if…else, iii…elseif…else và câu lệnh switch để các bạn tự học và thực hành cho những bài toán sau này.

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch) appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-5-bieu-thuc-dieu-kien-trong-php/feed/ 0
Bài 4: Toán tử và biểu thức trong PHP http://localhost:82/demowp/learn-php/bai-4-toan-tu-va-bieu-thuc-trong-php/ http://localhost:82/demowp/learn-php/bai-4-toan-tu-va-bieu-thuc-trong-php/#respond Sat, 14 Dec 2019 00:33:29 +0000 http://localhost:82/demowp/?p=7520 Trong ngôn ngữ PHP nói riêng và các ngôn ngữ lập trình nói chung thường hỗ trợ một tập các toán tử (operator): nó có hành vi gần giống như hàm, nhưng có cú pháp và ngữ nghĩa khác với hàm thông thường. Các ví dụ đơn giản thông dụng bao gồm toán tử số […]

The post Bài 4: Toán tử và biểu thức trong PHP appeared first on Tân Hồng IT.

]]>
Trong ngôn ngữ PHP nói riêng và các ngôn ngữ lập trình nói chung thường hỗ trợ một tập các toán tử (operator): nó có hành vi gần giống như hàm, nhưng có cú pháp và ngữ nghĩa khác với hàm thông thường. Các ví dụ đơn giản thông dụng bao gồm toán tử số học (phép cộng với +), so sánh (với >), và logic (như AND hay &&).

toan tu trong php
Toán Tử trong PHP

Ngôn ngữ PHP hỗ trợ các kiểu toán tử sau:

  • Toán tử số học
  • Toán tử so sánh (hay toán tử quan hệ)
  • Toán tử logic (hay toán tử luận lý)
  • Toán tử gán
  • Toán tử điều kiện (hoặc toán tử 3 ngôi)

Trước khi tham gia soi mó vào các toán tử trên, ta cần phải  biết thêm 1 khái niệm nữa đó là Biểu Thức.

Khái Niệm Về Biểu Thức

Biểu thức là sự kết hợp của một hay nhiều giá trị, hằng số, biến, toán tử, và hàm,… Mói một cách khác, Biểu Thức là một tập hợp bao gồm các toán hạng và toán tử.

Toán hạng là những giá trị, hằng số, biến,…được truyền vào trong phép toán. Toán tử (operator) là các phép tính + , – , * , / , % ,…

Toán tử số học trong PHP

Bảng dưới liệt kê các toán tử số học được hỗ trợ bởi ngôn ngữ PHP:

Giả sử biến $a giữ giá trị 10, biến $b giữ giá trị là 20 thì:

Toán tử Miêu tả Biểu Thức Ví dụ
+ $cộng hai toán hạng $a + $b kết quả là 30
Trừ toán hạng thứ hai từ toán hạng đầu $a – $b kết quả là -10
* Nhân hai toán hạng $a * $b kết quả là 200
/ Phép chia $b / $a kết quả là 2
% Phép lấy số dư $b % $a kết quả là 0
++ Toán tử tăng, tăng giá trị toán hạng thêm một đơn vị $a++ kết quả là 11
Toán tử giảm, giảm giá trị toán hạng đi một đơn vị $a– kết quả là 9

Toán tử quan hệ (so sánh) trong PHP

Bảng dưới liệt kê các toán tử so sánh được hỗ trợ bởi ngôn ngữ PHP. Giả sử biến $a giữ giá trị 10, biến $b giữ giá trị 20, thì:

Toán tử Miêu tả Biểu Thức Ví dụ
== Kiểm tra nếu 2 toán hạng bằng nhau hay không. Nếu bằng thì điều kiện là true. ($a == $b) là false.
!= Kiểm tra 2 toán hạng có giá trị khác nhau hay không. Nếu không bằng thì điều kiện là true. ($a != $b) là true.
> Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn toán hạng bên phải hay không. Nếu lớn hơn thì điều kiện là true. ($a > $b) là false.
< Kiểm tra nếu toán hạng bên trái nhỏ hơn toán hạng bên phải hay không. Nếu nhỏ hơn thì là true. ($a < $b) là true.
>= Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không. Nếu đúng là true. ($a >= $b) là false.
<= Kiểm tra nếu toán hạng bên trái có giá trị nhỏ hơn hoặc bằng toán hạng bên phải hay không. Nếu đúng là true. ($a <= $b) là true.

Ngoài ra còn có toán tử quan hệ === dùng để so sánh giá trị giữa các biến và hằng đúng theo giá trị và kiểu dữ liệu của nó.

Ví dụ ta có $a = ’123′ là kiểu string, $b = 123 là kiểu int thì phép ($a == $b) cho kết quả là true, còn phép ($a === $b) sẽ cho kết quả là false vì 2 biến tuy giá trị bằng nhau nhưng không cùng kiểu dữ liệu.

=> Toán tử quan hệ ===mang tính chất tuyệt đối.

Toán tử luận lý logic trong PHP

Toán tử luận lý là ký hiệu dùng để kết hợp hay phủ định biểu thức có chứa các toán tử quan hệ, những biểu thức dùng toán tử luận lý trả về giá trị TRUE hoặc FALSE.

Bảng dưới đây chỉ rõ tất cả các toán tử logic được hỗ trợ bởi ngôn ngữ PHP. Giả sử biến $a có giá trị 10 và biến $b có giá trị 20, thì:

Toán tử Miêu tả Biểu Thức Ví dụ
and Được gọi là toán tử Logic AND. Nếu cả hai toán hạng là true thì điều kiện trở thành true ($a and $b) là true.
or Được gọi là toán tử Logic OR. Nếu một trong hai toán hạng là đúng thì điều kiện trở thành true ($a or $b) là true.
&& Được gọi là toán tử Logic AND. Nếu cả hai toán hạng là true thì điều kiện trở thành true ($a && $b) là true.
|| Được gọi là toán tử Logic OR. Nếu một trong hai toán hạng là đúng thì điều kiện trở thành true ($a || $b) là true.
! Được gọi là toán tử Logic NOT. Sử dụng để đảo ngược trạng thái logic của toán hạng. Nếu điều kiện là true thì toán tử Logic NOT sẽ cho kết quả là false !($a && $b) là false.

Độ ưu tiên toán tử luận lý

Độ ưu tiên theo thứ tự như sau: NOT -> AND -> OR

Toán tử gán trong PHP

Dưới đây là những toán tử gán được hỗ trợ bởi ngôn ngữ PHP:

Toán tử Miêu tả Biểu Thức Ví dụ
= Toán tử gán đơn giản. Gán giá trị toán hạng bên phải cho toán hạng trái $c = $a + $b sẽ gán giá trị của $a + $b vào trong $c
+= Thêm giá trị toán hạng phải tới toán hạng trái và gán giá trị đó cho toán hạng trái $c += $a là tương đương với $c = $c + $a
-= Trừ đi giá trị toán hạng phải từ toán hạng trái và gán giá trị này cho toán hạng trái $c -= $a là tương đương với $c = $c – $a
*= Nhân giá trị toán hạng phải với toán hạng trái và gán giá trị này cho toán hạng trái $c *= $a là tương đương với $c = $c * $a
/= Chia toán hạng trái cho toán hạng phải và gán giá trị này cho toán hạng trái $c /= $a là tương đương với $c = $c / $a
%= Lấy phần dư của phép chia toán hạng trái cho toán hạng phải và gán cho toán hạng trái $c %= $a là tương đương với $c = $c % $a
//ví dụ
$a = $b = $c =10; //gán các toán hạng bằng nhau

Toán tử điều kiện trong PHP

Có nhiều hơn một toán tử được gọi là toán tử điều kiện. Đầu tiên, nó ước lượng một biểu thức là true hoặc false và sau đó thực thi một trong hai lệnh đã cho tùy thuộc vào kết quả của việc ước lượng. Toán tử điều kiện có cú pháp như sau:

Toán tử Miêu tả Ví dụ
? : Biểu thức điều kiện Nếu điều kiện là true ? Thì giá trị X : Nếu không thì giá trị Y

Phân loại toán tử trong PHP

Tất cả toán tử ở trên có thể được phân thành các loại sau trong PHP:

  • Toán tử một ngôi (unary operator), mà đặt trước một toán hạng.
  • Toán tử nhị phân (binary operator), nhận hai toán hạng và thực hiện các hoạt động số học và logic đa dạng.
  • Toán tử điều kiện (ternary operator) hay là toán tử tam ngôi, nhận ba toán hạng và ước lượng hoặc biểu thức thứ hai hoặc biểu thức thứ ba, phụ thuộc vào kết quả ước lượng của biểu thức đầu tiên.
  • Toán tử gán, mà gán một giá trị cho một biến.

Độ ưu tiên của các toán tử trong PHP

Độ ưu tiên các toán tử trong PHP thiết lập thứ tự ưu tiên tính toán của một biểu thức. Hay nói cách khác, Thứ tự ưu tiên toán tử trong PHP xác định cách biểu thức được tính toán.

Ví dụ: toán tử nhân có quyền ưu tiên hơn toán tử cộng, và nó được thực hiện trước.

Loại Toán tử Thứ tự ưu tiên
Unary ! , ++ , — Phải sang trái
Tính nhân * , / , % Trái sang phải
Tính cộng + , Trái sang phải
Quan hệ < , <= , > , >= Trái sang phải
Tính bằng == , != Trái sang phải
Logic AND && Trái sang phải
Logic OR || Trái sang phải
Điều kiện ?: Phải sang trái
Gán = , += , -= , *= , /= , %= Phải sang trái

Lưu ý: Việc tính toán biểu thức số học sẽ được tính toán từ trái qua phải và ưu tiên trong ngoặc trước kết hợp với độ ưu tiên trong bảng

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 4: Toán tử và biểu thức trong PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-4-toan-tu-va-bieu-thuc-trong-php/feed/ 0
Bài 3: Những kiểu dữ liệu trong PHP http://localhost:82/demowp/learn-php/bai-3-nhung-kieu-du-lieu-trong-php/ http://localhost:82/demowp/learn-php/bai-3-nhung-kieu-du-lieu-trong-php/#respond Sat, 07 Dec 2019 05:10:40 +0000 http://localhost:82/demowp/?p=7497 Ở Bài 2: Cú pháp PHP cơ bản, Khai báo hằng và biến trong PHP đã hướng dẫn cơ bản về cú pháp và khái kiệm về biến, hằng, trong bài viết này mình sẽ giới thiệu những kiểu dữ liệu được sử dụng trong biến của ngôn ngữ PHP nhé! Cách chính để lưu […]

The post Bài 3: Những kiểu dữ liệu trong PHP appeared first on Tân Hồng IT.

]]>
Bài 2: Cú pháp PHP cơ bản, Khai báo hằng và biến trong PHP đã hướng dẫn cơ bản về cú pháp và khái kiệm về biến, hằng, trong bài viết này mình sẽ giới thiệu những kiểu dữ liệu được sử dụng trong biến của ngôn ngữ PHP nhé!

cac kieu du lieu php
Các kiểu dữ liệu trong PHP

Cách chính để lưu trữ thông tin trong chương trình PHP là sử dụng một biến.

Dưới đây là những điều quan trọng nhất bạn nên biết về biến trong PHP.

  • Tất cả các biến trong PHP đều được kí hiệu với dấu $ ở đầu.
  • Giá trị của một biến là giá trị của phép gán gần đây nhất của nó.
  • Các biến được gán với toán tử =, biến ở bên trái còn biểu thức được ước lượng ở bên phải.
  • PHP làm rất tốt việc chuyển đổi tự động từ kiểu này sang kiểu khác khi cần thiết.
  • Biến trong PHP giống với Perl.

PHP có tổng tất cả 8 kiểu dữ liệu mà chúng ta sử dụng để xây dựng các biến.

  • Integer − Kiểu INT số nguyên. Ví dụ 1989
  • Double, Float− Kiểu số thực. Ví dụ 3.14159 hay 49.1.
  • Boolean − có 2 giá trị TRUE hoặc FALSE.
  • NULL − là một kiểu đặc biệt, nó chỉ có giá trị: NULL
  • String − là chuỗi các kí tự.
  • Array − là tập hợp được đặt tên và lập chỉ mục của các giá trị khác.
  • Object − là instance (sự thể hiện) của các lớp mà lập trình viên tự định nghĩa, nó có thể đóng gói các các loại giá trị và hàm khác nhau, nó dành riêng cho các lớp.
  • Resource − là một biến đặc biệt nó giữ tham chiếu tới các tài nguyên ngoại vi đến PHP (ví dụ: kết nối Database).

Kiểu dữ liệu Int (Integer)

Chúng là tất cả các số, bao gồm cả nguyên âm và nguyên dương, nhưng không bao gồm số thực. Nó là kiểu đơn giản nhất. Chúng có thể được gán cho một biến hoặc được sử dụng trong biểu thức

Phạm vi kiểu int nằm trong vùng từ -2147483648 đến 2147483648

Đặc biệt kiểu int có thể ở viết ở nhiều cơ số khác nhau. Kiểu số nguyên có thể trong hệ thập phân, hệ bát phân và hệ thập lục phân. Mặc định là hệ thập phân, hệ bát phân – số nguyên được chỉ định bắt đầu với số 0 và hệ thập lục phân bắt đầu với 0x.

<?php
$bien_int = 12345;
$bien_int_2 = -12345 + 12345;
echo $bien_int . $bien_int_2;
$thap_luc_phan = 0x1A; // số thập lục phân
?>

Ép dữ liệu sang kiểu INT

Cú Pháp(int)$ten_bien;

<?php
$bien1 = '123'; //đây là 1 biến chứa chuỗi ký tự $bien = (int)$bien; //biến khi giờ đã được ép kiểu sang int và nó có giá trị là số 123
$bien1 = (int)$bien1;
echo $bien1; //khi chạy lệnh echo thì kết quả xuất ra màn hình sẽ là số 123

$bien2 = '123a';
$bien2 = (int)$bien2;
echo $bien2; //khi chạy lệnh echo thì kết quả xuất ra màn hình sẽ là số 123, ký tự a sẽ không in được vì không thể chuyển sang số và nó sẽ xoá ký tự đó đi

$bien3 = 'a123';
$bien3 = (int)$bien3;
echo $bien3; //khi chạy lệnh echo thì kết quả xuất ra màn hình sẽ là số 0 , ký tự a sẽ không in được vì không thể chuyển sang số và nó sẽ xoá ký tự đó đi
?>

Trong đoạn code trên, các bạn chú ý vào $bien3, biến này có chứa lý tự ‘a’ đầu tiên nên nó sẽ không chuyển sang kiểu int được và tự động cắt bỏ tất cả mọi thứ đằng sau nó. Suy ra khi này nó sẽ thành biến rống, và khi nó là chuỗi rống thì sang kiểu INT nó sẽ là số 0

Để kiểm tra một biến nào đó có phải kiểu INT không bạn dùng 2 hàm is_int($bien) hoặc is_integer($bien) kết quả trả về giá trị True nếu là kiểu INT và False nếu không phải kiểu INT.

Kiểu số thực (Double, Float)

Số thực gồm hai phần, phần nguyên và phần thập phân, được ngăn cách nhau bằng dấu chấm. Kích cỡ của nó được xác định phụ thuộc vào từng platform , giá trị lớn nhất xấp xỉ 1.8e308

<?php
   $bien_double_1 = 2.2888800;
   $bien_double_2 = 2.2111200;
   $ket_qua = $bien_double_1 + $bien_double_2;
   print("$bien_double_1 + $bien_double_2 = $ket_qua <br>");
?>

Kết quá xuất ra hàm hình sẽ là: 2.28888 + 2.21112 = 4.5

Ép dữ liệu sáng kiểu số thực

Cũng như kiểu INT, đẻ ép 1 biến sang kiểu số thực bạn chỉ việc sử dụng (float) hoặc (double) trước biến đó. Ví dụ:

<?php
$bien = 12;
$bien = (float) $bien; // khi này biến bị ép sang kiểu float
$bien = (double) $bien; // khi này biến bị ép sang kiểu double
echo $bien;
?>

Cũng giống INT, nếu bạn muốn kiểm tra xem 1 biến có phải thuộc kiểu dữ liệu là số thực hay không thì bạn sử dụng 2 hàm này nhé: is_float($bien) hoặc is_double($bien)

Kiểu Boolean trong PHP

Kiểu dữ liệu đơn giản nhất trong PHP. Nó chỉ chứa 2 giá trị là đúng hoặc sai (TRUE hoặc FALSE). Để tạo biến kiểu boolean thì bạn gán giá trị cho nó là TRUE hoặc FALSE.

Đây là quy tắc để xác định tính đúng đắn của bất kì giá trị nào chưa phải là kiểu Boolean.

  • Nếu giá trị là một số, nó là false nếu nó bằng 0 và true nếu khác 0.
  • Nếu giá trị là một chuỗi, nó false nếu chuỗi là rỗng (không tồn tại kí tự nào) hoặc là chuỗi “0”, nếu không là true.
  • Giá trị của kiểu NULL luôn luôn là false.
  • Nếu giá trị là một array, nó false nếu nó không chứa các giá trị khác và nếu không là true. Với một object, chứa một giá trị nghĩa là có một biến thành viên đã được gán một giá trị.
  • Resource hợp lệ là true (mặc dù có một vài hàm trả về các resource khi chúng thành công, và trả về FALSE nếu thất bại).
  • Đừng sử dụng double như là Boolean.
<?php
$a = 123; // TRUE
$b = 0; // FALSE
$c = '0'; // FALSE
$d = 'a123b' // TRUE
$e = null; // FALSE
$f = ''; // FALSE
?>

Kiểu Chuỗi (String) trong PHP

Kiểu chuỗi trong PHP gồm string(chuỗi) và kiểu char(ký tự). Để khai báo chuỗi cho 1 biến, các bạn chỉ cần gán 1 chuỗi vào biến đó.

Chuỗi phải được bao quanh bằng dấu nháy đơn  hoặc dấu nháy kép . Chuỗi sử dụng nháy đơn là một chuỗi tĩnh, còn chuỗi sử dụng nháy kép là một chuỗi động, thay đổi tùy theo giá trị của biến.

Không có giới hạn về độ dài của chuỗi, có thể dài tùy ý nếu bộ nhớ cho phép.

Ví dụ:

$string_1 = "Chào mừng đến với tanhongit.net";
$string_2 = "abc 123 hello";

Các chuỗi được giới hạn bởi các dấu nháy kép được PHP xử lý bằng 2 cách sau đây:

  • Các chuỗi kí tự bắt đầu với (\) được thay thế với một kí tự đặc biệt
  • Các biến (bắt đầu với $) được thay thế bằng biểu diễn chuỗi của giá trị của nó.

Các quy tắc thay thế:

  • \n được thay thế bằng ký tự newline (dòng mới)
  • \r được thay thế bởi ký tự carriage-return, được hiểu là đưa con trỏ về đầu dòng nhưng không xuống dòng.
  • \t được thay thế bởi ký tự tab
  • $ được thay thế bằng một dấu $
  • \” được thay thế bằng một dấu nháy kép “
  • \\ được thay thế bằng một dấu nháy đơn \

Để kiểm tra một biến kiểu chuỗi (string) ta dùng hàm is_string($bien), kết quả hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.

Kiểu Mảng (Array) trong PHP

Một mảng là một cấu trúc dữ liệu mà lưu giữ danh sách  các phần tử có cùng kiểu dữ liệu và nó là một trong các kiểu dữ liệu trong php có độ phức tạp tính toán cao. Riêng với PHP thì các phần tử của mảng có thể không cùng kiểu dữ liệu, và các phần tử của mảng được truy xuất thông qua các chỉ mục(vị trí) của nó nằm trong mảng.

Cú pháp

Để tạo mảng chúng ta sử dụng hàm array() trong PHP (Từ PHP 5.4 trở lên bạn chỉ cần viết giá trị trong cặp dấu [ ] cũng được)

Note: Các bạn dùng hàm var_dump($mang); để in ra các phần tử của mạng để test trong quá trình học nhé. Hàm này có thể sử dụng được tất cả các kiểu dữ liệu trong php. (Hàm var_dump chỉ dùng để test)

//cách tạo mảng 1
<?php
    $names=array("Tan","Binh","Minh");
    var_dump($names);
?>
//cách tạo mảng 2
<?php 
$names=array(
0 => 'Tan',
1 => 'Binh',
2 => 'Minh'
); 
var_dump($names); 
?>
//cách tạo mảng 3 
<?php 
$names=array(); 
$names[0] = 'Tan';
$names[1] = 'Binh';
$names[2] = 'Minh';
var_dump($names);
?>
//cách tạo mảng 4 
<?php 
$names=array(); 
$names[] = 'Tan'; 
$names[] = 'Binh'; 
$names[] = 'Minh'; 
var_dump($names); 
?>

Có 3 loại mảng trong PHP:

  •  Mảng indexed
  • Mảng associative
  • Mảng đa chiều

Các bạn xem chi tiết về mảng ở bài viết sau nhé!

Kiểu NULL trong PHP

NULL là một kiểu đặc biệt mà chỉ có một giá trị NULL. Để cung cấp cho biến giá trị NULL, đơn giản bạn gán nó như sau:

$a = null; // Khởi tạo biến $a và mang gán giá trị null
$b = (int)$a; // sau khi ép kiểu, biến $b có giá trị là ( 0 )
$c = (string)$a; // sau khi ép kiểu, biến $c có giá trị rỗng ( '' )
$d = (bool)$a; // sau khi ép kiểu, biến $d có giá trị FALSE

Giá trị của biến có thể được xóa bằng cách gán giá trị NULL cho biến đó.

Lúc bạn khởi tạo một biến và bạn gán = NULL thì sẽ hệ thông sẽ không tốn bộ nhớ để lưu trữ, nên việc sử dụng nó rất có lợi.

Theo qui ước, hằng đặc biệt NULL là viết hoa, nhưng thực sự nó là không phân biệt kiểu chữ, cho nên bạn vẫn có thể viết thường mà không bị lỗi.

Một biến mà đã được gán NULL sẽ có các thuộc tính sau:

  • Nó ước lượng là FALSE trong một ngữ cảnh Boolean.
  • Nó trả về FALSE khi được kiểm tra với hàm IsSet() trong PHP.

Kiểu Object (đối tượng)

Các bạn sẽ tìm hiểu và học về kiểu dữ liệu này ở phần lập trình hướng đối tượng OOP của PHP ở chương sau nhé!

Kiểu Resource

resource không phải là một kiểu dữ liệu thật sự. Nó được dùng để lưu trữ các tham chiếu đến các hàm hoặc cái tài nguyên bên ngoài.  Ví dụ dễ thấy nhất là kêt nối đến database.

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
CHÚC CÁC BẠN THÀNH CÔNG

The post Bài 3: Những kiểu dữ liệu trong PHP appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/learn-php/bai-3-nhung-kieu-du-lieu-trong-php/feed/ 0
Thay đổi Port sửa lỗi không truy cập vào được localhost và cách tạo thư mục ảo trên WampServer http://localhost:82/demowp/code-web/thiet-lap-port-loi-khong-truy-cap-localhost/ http://localhost:82/demowp/code-web/thiet-lap-port-loi-khong-truy-cap-localhost/#respond Thu, 05 Dec 2019 15:15:23 +0000 http://localhost:82/demowp/?p=7470 Tân Hồng IT sẽ hướng dẫn các bạn cách thiết lập Port và tạo thư mục ảo trên WampServer khi bị lỗi không truy cập vào được Localhost nhé. Việc tạo thư mục ảo giúp bạn có thể quản lý file PHP của mình dễ dàng hơn. Ở Bài 1: Giới thiệu tổng quan ngôn […]

The post Thay đổi Port sửa lỗi không truy cập vào được localhost và cách tạo thư mục ảo trên WampServer appeared first on Tân Hồng IT.

]]>
Tân Hồng IT sẽ hướng dẫn các bạn cách thiết lập Port và tạo thư mục ảo trên WampServer khi bị lỗi không truy cập vào được Localhost nhé. Việc tạo thư mục ảo giúp bạn có thể quản lý file PHP của mình dễ dàng hơn.

Bài 1: Giới thiệu tổng quan ngôn ngữ PHP và hướng dẫn thiết lập môi trường để lập trình PHP. Tân Hồng IT đã dùng WampServer làm môi trường chính để lập trình PHP. Cùng tìm hiểu xem web server này có gì thú vị nữa không nhé!!!

loi port truy cap localhost

Ưu điểm khi sử dụng WampServer là gì?

WampServer hoạt động giống một máy chủ ảo, chạy ngay trên máy của bạn. Nó cho phép bạn kiểm thử trang web mà không gặp trở ngại hay tác hại nào. Do nó được cài trên máy tính của bạn và chưa được xuất bản. WampServer vào lúc này đóng vai trò là một căn nhà an toàn cho website của bạn, bạn chưa phải đưa nó online, nhưng vẫn xem được cách nó hiển thị online trên trình duyệt là như thế nào.

Các ưu điểm khi cài đặt WampServer là:

  • Bạn không phải mất thời gian chờ file được upload lên mạng nữa.
  • Tạo backup dễ dàng hơn, nhanh hơn.
  • Không phụ thuộc vào kết nối internet, máy tính không kết cần nối mạng bạn vẫn có thể phát triển web tại localhost.
  • Tăng tốc quá trình xử lý, thao tác. Lập trình viên và chuyên gia thiết kế của bạn sẽ thích điều này.
  • Bạn hình dung được nội dung được bố cục như thế nào.

Sau khi đã có một website hoàn chỉnh tại localhost nhờ vào việc cài WampServer, để đưa website lên mạng bạn chỉ việc mua thêm hosting và tên miền cho nó.

Tổng quan về thanh menu của WampServer:

  • Localhost: Cho phép mở website nằm trong folder web root bằng trình duyệt web.
  • phpMyAdmin: Cho phép mở trang quản lý cơ sở dữ liệu phpMyAdmin thông qua trình duyệt web.
  • Apache: Các lệnh liên quan đến web chủ Apache.
  • MySQL: Các lệnh liên quan đế hệ quản trị cơ sở dữ liệu MySQL.
  • PHP: Nơi sẽ hiển thị và cho phép bạn chỉnh sửa các tập tin cấu hình sử dụng ngôn ngữ lập trình PHP.
  • Start All Services: Bật tất cả các chức năng/dịch vụ của WAMP.
  • Stop All Services: Tắt tất cả các chức năng/dịch vụ của WAMP.
  • Restart All Services: Khởi động lại tất cả các chức năng/dịch vụ của WAMP.

Thiết lập Port mới trên WampServer tránh lỗi không truy cập vào localhost:

Khi bạn cài đặt nhiều gói webserver vào máy tính thì khi này các địa chỉ localhost phải được cấu hình khác nhau, Nếu không khi truy cập vào địa chỉ localhost sẽ bị lỗi không truy cập được.

Ví dụ bạn cài đặt Xampp đầu tiên, khi này nó sẽ mặc định lấy địa chỉ https://localhost/ làm port của nó. Sau đó bạn lại cài thêm Wampserver vào máy, lúc này khi truy cập vào https://localhost/ sẽ bị lỗi. Bạn phải chỉnh sửa thành một Port  khác ví dụ như https://localhost:81/ , https://localhost:83/ ,…

Hãy cùng Tân Hồng IT tìm hiểu về cách thay đổi port trên WampServer nha. Thay đổi port giúp cho máy của bạn tránh những xung đột không đáng có khi lập trình.

Đầu tiên, các bạn mở WampServer lên và click chuột trái vào icon W màu xanh của Wamp. Sau đó bạn chọn Apache, tiếp theo click vào file httpd.conf.

Bước 1
Bước 1

Lúc này file httpd.conf đã được mở tự động bằng Notepad++ nếu máy của bạn có sẵn hoặc một trình soạn thảo khác. Trên file httpd.conf các bạn tìm kiếm bằng cách ấn CTRL+H, tại Find What: nhập 80, rồi thay đổi lại tại Replace with: nhập 82. Xong tất cả thì bạn chọn Replace All và nhớ CTRL+S nha ^^.

lỗi không truy cập localhost
Bước 2

Sau khi đã lưu lại các bạn nhớ nhấn Restart All Services để port mới được hoạt động nhé.

Bước 3
Bước 3

Cuối cùng các bạn mở trình duyệt lên nhập localhost:82 và hiện ra như ảnh dưới là các bạn đã thay đổi port thành công rồi đó.

Bước 4
Bước 4

Tạo thư mục ảo trên WampServer:

Khi sử dụng WampServer, file php của bạn thường nằm bên trong thư mục C:/wamp64/www/*.php. Điều này rất bất tiện đối với các máy đã đóng băng, vì khi tắt hay reset máy đồng nghĩa với dữ liệu trong ổ C:/ trước đó bạn đã từng thao tác sẽ bay màu. Sau đây mình sẽ hướng dẫn các bạn tạo thư mục ảo để bạn quản lý file dễ dàng hơn.

Các bạn Click chuột trái vào biểu tượng của WAMP, chọn Apache –> Alias directories –> Add an alias.

Bước 1
Bước 1

 

Một cửa sổ Command sẽ hiện lên, và các bạn làm theo hướng dẫn trên màn hình. Ở đây mình đặt alias là larva

Bước 2
Bước 2

Sau khi Enter nó sẽ yêu cầu bạn gõ đường dẫn đến thư mục cần tạo thư mục ảo (lưu ý thư mục này phải tồn tại), ở đây mình tạo thư mục ảo trỏ đến D:/larva và ấn Enter và sẽ hiện thông báo bạn đã tạo thư mục ảo thành công.

Lưu ý: Khi bạn đặt tên cho alias là tên gì thì thư mục bạn muốn dẫn đến cũng nên đặt tên tương tự để tránh bị lỗi nhé !

Bước 3
Bước 3

Sau khi tạo xong, khi muốn chạy file .php trong thư mục D:/larva/ bạn vào trình duyệt gõ localhost:82/larva/file php của bạn ( Tương tự khi các bạn đặt alias và trỏ đến thư mục khác ).

Đến đây mình xin kết thúc bài viết này, hẹn gặp lại các bạn ở những bài tiếp theo nhé. <3

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

CHÚC CÁC BẠN THÀNH CÔNG

The post Thay đổi Port sửa lỗi không truy cập vào được localhost và cách tạo thư mục ảo trên WampServer appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/code-web/thiet-lap-port-loi-khong-truy-cap-localhost/feed/ 0
Download Adobe Dreamweaver CC 2020 – Phần mềm thiết kế trang web chuyên nghiệp http://localhost:82/demowp/adobe/download-adobe-dreamweaver-2020/ http://localhost:82/demowp/adobe/download-adobe-dreamweaver-2020/#respond Sat, 26 Oct 2019 06:05:51 +0000 http://localhost:82/demowp/?p=7248 Download Adobe Dreamweaver CC 2020 – là phiên bản mới của ứng dụng được thiết kế để tạo các trang web chuyên nghiệp. Phần mềm thiết kế web Adobe Dreamweaver CC có giao diện trực quan cho phép bạn tạo và chỉnh sửa các trang web và ứng dụng di động. Nó được coi là […]

The post Download Adobe Dreamweaver CC 2020 – Phần mềm thiết kế trang web chuyên nghiệp appeared first on Tân Hồng IT.

]]>
Download Adobe Dreamweaver CC 2020 – là phiên bản mới của ứng dụng được thiết kế để tạo các trang web chuyên nghiệp. Phần mềm thiết kế web Adobe Dreamweaver CC có giao diện trực quan cho phép bạn tạo và chỉnh sửa các trang web và ứng dụng di động.

Nó được coi là trình soạn thảo HTML chuẩn WYSIWYG tiêu chuẩn của ngành, điều này sẽ làm cho việc thiết kế web trở nên rất dễ dàng cũng như rất thoải mái.

adobe dreamweaver cc 2020
Download adobe dreamweaver cc 2020

Adobe Dreamweaver CC 2020 giúp bạn tạo,  mã và quản lý các trang web động dễ dàng bằng công cụ mã hóa thông minh, đơn giản.

Đây được coi như là một phần mềm thiết kế web chuyên nghiệp cung cấp giao diện hình ảnh trực quan cho việc thiết kế và chỉnh sửa các trang web của Adobe.

Các tính năng của Adobe Dreamweaver CC

  • Được coi là trình soạn thảo HTML WYSIWYG tiêu chuẩn của ngành, điều này sẽ làm cho web desiging rất dễ dàng cũng như rất thoải mái.
  • Cho phép nhà thiết kế tạo trang web có khả năng hoạt động trên máy tính để bàn, thiết bị di động và máy tính bảng.
  • Có công nghệ Bố cục Lưới Chất lỏng cùng với bảng điều khiển Xem trước MultiScreen sẽ cho phép bạn có được khả năng tương thích với các sản phẩm cầm tay.
  • Có một bộ chuyển tiếp CSS sẽ đơn giản hóa quá trình tạo một số hình ảnh động hấp dẫn.

Các tính năng mới của Adobe Dreamweaver CC 2020

  • Thiết kế và xây dựng các trang Web tiêu chuẩn
  • Mã hóa được tích hợp với môi trường đồ họa
  • Hỗ trợ các công nghệ web và ngôn ngữ lập trình
  • Hỗ trợ JavaScript, ActionScript, CSS, ASP, PHP, HTML
  • Thiết kế và phát triển nhiều trang động dựa trên công nghệ Ajax
  • Khả năng tự động phát hiện loại chương trình mã lập trình
  • Xem và chỉnh sửa các trang web được thiết kế trực tuyến
  • Khả năng tải lên các trang trực tiếp trên các máy chủ
  • Công cụ thiết kế mới và hỗ trợ tích hợp công nghệ CSS
  • Tương thích hoàn toàn với các tiêu chuẩn web mới nhất
  • Hỗ trợ nhiều màn hình dành cho người dùng Windows
  • Giao diện người dùng được thiết kế lại, hiện đại hơn
  • Tăng cường tích hợp Bootstrap và hỗ trợ phiên bản mới nhất

Cấu hình tối thiểu:

  • CPU: Intel® Core 2 or AMD Athlon® 64 processor; 2 GHz hoặc cao hơn
  • Hệ điều hành: Microsoft Windows 7 SP1, Windows 8.1, or Windows 10 64 bit
  • Ram: 2 GB of RAM (4 GB khuyến nghị)
  • Ổ cứng: 2 GB
  • Màn hình: 1280×1024 display with 16-bit video card

Download Adobe Dreamweaver CC 2020

Hướng dẫn cài đặt phần mềm Dreamweaver CC 2020

  1. Tắt phần mềm diệt virus (Chú ý tắt cả Windows Defender mặc định từ Windows.)
  2. Chạy file Setup .exe lên và chọn ngôn ngữ English.
  3. Bỏ tích ở ô “Install Home Page…” đi (Nếu bạn đã cài Microsoft Visual C++ Full rồi thì có thể bỏ tích cả 2 dấu).
  4. Nhấn Install và chờ quá trình cài đặt hoàn tất.
  5. Sử dụng phần mềm đã được cài sẵn bản quyền.

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!
Xem Thêm:

CHÚC CÁC BẠN THÀNH CÔNG

The post Download Adobe Dreamweaver CC 2020 – Phần mềm thiết kế trang web chuyên nghiệp appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/adobe/download-adobe-dreamweaver-2020/feed/ 0
Mở Đọc File Excel Trong C# Với Microsoft Office Interop Excel dll http://localhost:82/demowp/code/mo-doc-file-excel-trong-c-voi-microsoft-office-interop-excel-dll/ http://localhost:82/demowp/code/mo-doc-file-excel-trong-c-voi-microsoft-office-interop-excel-dll/#respond Sun, 06 Oct 2019 02:10:26 +0000 http://localhost:82/demowp/?p=7173 Ở bài viết trước mình có hướng dẫn cho các bạn cách  đọc file Word trong C Sharp (còn gọi là C#) cùng với thư viện hỗ trợ Microsoft.Office.Interop.Word. Và ở bài viết này mình sẽ hướng dẫn các bạn cách đọc file Excel Trong C#. Phương pháp này cũng sử dụng thư viện Interop […]

The post Mở Đọc File Excel Trong C# Với Microsoft Office Interop Excel dll appeared first on Tân Hồng IT.

]]>
Ở bài viết trước mình có hướng dẫn cho các bạn cách  đọc file Word trong C Sharp (còn gọi là C#) cùng với thư viện hỗ trợ Microsoft.Office.Interop.Word. Và ở bài viết này mình sẽ hướng dẫn các bạn cách đọc file Excel Trong C#.

Phương pháp này cũng sử dụng thư viện Interop giống bài viết trước. Đầu tiên, thêm tham chiếu vào Thư viện đối tượng Microsoft Excel XX.X , nằm trong tab COM của Trình quản lý tham chiếu. Mình đã đưa ra điều này bằng cách sử dụng bí danh của Excel.

using Excel = Microsoft.Office.Interop.Excel;       //Microsoft Excel 14 object in references-> COM tab

Nếu các bạn cảm thấy khó khăn ở bước trên mình sẽ hướng dẫn chi tiết về bước trên cho các bạn tại đây.

Bạn bắt buộc phải tải DLL Microsoft.Office.Interop.Excel về máy mới có thể hoàn thành bài code này.

Đây là link cập nhật phiên bản mới nhất: Download Microsoft.Office.Interop.Excel.dll

Hoặc nếu link die thì các bạn cũng có thể Download Phiên bản 15.0.4569.1506

Cách Cài đặt trực tiếp Microsoft.Office.Interop.Excel.dll vào Windows.

  1. Sao chép tệp .DLL vào thư mục C:\Windows\System32 (nếu sử dụng HĐH 32 bit)
  2. Sao chép tệp .DLL vào thư mục C:\Windows\SysWOW64 (nếu sử dụng HĐH 64 bit)
  3. Cài đặt DLL đã được hoàn thành!

Tiếp theo Bạn tạo 1 Project Console App(.Net Framework)

console app read file excel

Trong Solution Explorer , bấm chuột phải vào tên dự án của bạn và sau đó bấm Add Reference . Các Add Reference hộp thoại sẽ xuất hiện.

Trên trang Assemblies, click chọn Microsoft.Office.Interop.Excel trong danh sách Component Name . Và nhấn OK.

Sau khi đã làm những bước trên bạn có thể thêm tham chiếu vào thư viện được rồi.

using Excel = Microsoft.Office.Interop.Excel; using Word = Microsoft.Office.Interop.Word;

Tiếp theo, bạn sẽ cần tạo references cho từng đối tượng COM được truy cập. Mỗi references phải được lưu giữ để thoát khỏi ứng dụng một cách hiệu quả khi hoàn thành.

// Tạo đối tượng COM. Tạo một đối tượng COM cho mọi thứ được tham chiếu
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"sandbox_test.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;

Sau đó, bạn có thể đọc từ trang tính sheet, hãy nhớ rằng lập chỉ mục trong Excel không dựa trên 0. Điều này chỉ cần đọc các ô và in chúng trở lại giống như trong tệp.

//Lặp lại qua các hàng và cột và in ra bàn điều khiển khi nó xuất hiện trong tệp
//excel is not zero based!!
for (int i = 1; i <= rowCount; i++)
{
    for (int j = 1; j <= colCount; j++)
    {
        //dòng mới
        if (j == 1)
            Console.Write("\r\n");

        //ghi giá trị vào bàn điều khiển console
        if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null)
            Console.Write(xlRange.Cells[i, j].Value2.ToString() + "\t"); 
    }
}

Cuối cùng, các tham chiếu (references) đến bộ nhớ không được quản lý phải được xuất ra. Nếu điều này không được thực hiện đúng cách, thì sẽ có các quy trình kéo dài giữ quyền truy cập tập tin và ghi vào file Excel của bạn.

//cleanup
GC.Collect();
GC.WaitForPendingFinalizers();

//quy tắc của việc phát hành các đối tượng com:
//không bao giờ sử dụng hai dấu chấm, tất cả các đối tượng COM phải được tham chiếu và phát hành riêng lẻ
//  ví dụ: [somthing].[something].[something] ----> bad

//xuất các đối tượng com để dừng hoàn toàn quá trình excel chạy trong nền
Marshal.ReleaseComObject(xlRange);
Marshal.ReleaseComObject(xlWorksheet);

//đóng lại và xuất thông tin
xlWorkbook.Close();
Marshal.ReleaseComObject(xlWorkbook);

//thoát và xuất thông tin
xlApp.Quit();
Marshal.ReleaseComObject(xlApp);

Full Code đầy đủ để đọc 1 file Excel trong C# :

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;           
using System.Text;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;       //microsoft Excel 14 object in references-> COM tab

namespace Sandbox
{
    public class Read_From_Excel
    {
        public static void getExcelFile()
        {

            //Create COM Objects. Create a COM object for everything that is referenced
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\E56626\Desktop\Teddy\VS2012\Sandbox\sandbox_test - Copy - Copy.xlsx");
            Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
            Excel.Range xlRange = xlWorksheet.UsedRange;

            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;

            //iterate over the rows and columns and print to the console as it appears in the file
            //excel is not zero based!!
            for (int i = 1; i <= rowCount; i++)
            {
                for (int j = 1; j <= colCount; j++)
                {
                    //new line
                    if (j == 1)
                        Console.Write("\r\n");

                    //write the value to the console
                    if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null)
                        Console.Write(xlRange.Cells[i, j].Value2.ToString() + "\t");
                }
            }

            //cleanup
            GC.Collect();
            GC.WaitForPendingFinalizers();

            //rule of thumb for releasing com objects:
            //  never use two dots, all COM objects must be referenced and released individually
            //  ex: [somthing].[something].[something] is bad

            //release com objects to fully kill excel process from running in the background
            Marshal.ReleaseComObject(xlRange);
            Marshal.ReleaseComObject(xlWorksheet);

            //close and release
            xlWorkbook.Close();
            Marshal.ReleaseComObject(xlWorkbook);

            //quit and release
            xlApp.Quit();
            Marshal.ReleaseComObject(xlApp);
        }
        static void Main(string[] args)
        {
            getExcelFile();
            Console.Read();
        }
    }
}   
Tài liệu liên quan:
Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm:

CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ

The post Mở Đọc File Excel Trong C# Với Microsoft Office Interop Excel dll appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/code/mo-doc-file-excel-trong-c-voi-microsoft-office-interop-excel-dll/feed/ 0
Những Plugin Extensions Hỗ Trợ không thể thiếu cho VSCode http://localhost:82/demowp/code-web/plugin-for-vscode/ http://localhost:82/demowp/code-web/plugin-for-vscode/#respond Mon, 30 Sep 2019 04:47:05 +0000 http://localhost:82/demowp/?p=5492 Tổng Hợp Những Plugin Hỗ Trợ không thể thiếu cho VSCode. Visual Studio Code (viết tắt là VSCode) là một trình biên tập được phát triển bởi Microsoft dành cho Windows, Linux và macOS. Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông mình, snippets, và […]

The post Những Plugin Extensions Hỗ Trợ không thể thiếu cho VSCode appeared first on Tân Hồng IT.

]]>
Tổng Hợp Những Plugin Hỗ Trợ không thể thiếu cho VSCode. Visual Studio Code (viết tắt là VSCode) là một trình biên tập được phát triển bởi Microsoft dành cho Windows, Linux và macOS. Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông mình, snippets, và cải tiến mã nguồn.

plugin for vscode
Những Plugin không thể thiếu cho VSCode

Hiện nay, VSCode chiếm được nhiều cảm tình của dân lập trình web nhờ hiệu suất ổn định, dễ sử dụng, cộng với vô vàn tính năng hữu ích được đóng gói sẵn. Bên cạnh đó, kho plugin đồ sộ của VSCode cho phép người dùng tha hồ tùy biến và cải thiện trình soạn thảo theo hướng tiện dụng nhất.

1. Snippets

Đầu tiên phải kể đến những snippets thông dụng. Mặc dù VSCode đã hỗ trợ khá nhiều snippet trong bộ cài đặt, bạn vẫn cần snippets của các frameworks/ thư viện như React, Vue hay Angular. Bạn có thể dễ dàng tìm chúng từ VSCode Marketplace, chẳng hạn như:

  • HTML Snippets
  • JavaScript (ES6) code snippets
  • Vue VSCode Snippets
  • Vue 2 Snippets

2. Bracket Pair Colorizer và Indent Rainbow

“Cặp đôi hoàn hảo” Bracket Pair Colorizer và Indent Rainbow sẽ tô màu cho những cặp dấu ngoặc nhọn khác nhau, đồng thời màu nền của trình soạn thảo cũng thay đổi mỗi khi bạn “đẩy vào” một cột.

Mặc định:

Bracket Pair Colorizer

*Với Bracket Pair Colorizer và Indent Rainbow: *

Indent Rainbow

3. Indenticator

Indenticator giúp bạn nhận biết dễ dàng các block code đang được sử dụng.

Indenticator

4. GitLens

Gitlens giống như một GUI tool cho git được tích hợp vào VSCode. Nó bao gồm hàng tá features như commit, add, commit search, history, Gitlens explorer. Nó giúp cho bạn dễ dàng hơn rất nhiều trong việc teamwork khi mọi người cùng làm việc trên cùng một Repo

GitLens vscode

5. Polacode

Polacode giúp “screenshot” code một cách đẹp đẽ hơn, như ví dụ bên dưới. Rất hữu ích khi bạn cần gửi code lên diễn đàn hay mạng xã hội nhờ trợ giúp.

Polacode

6. Import Cost

Bằng cách sử dụng webpack và babili-webpack-plugin, Import Cost hiển thị ngay lập tức dung lượng các thư viện được sử dụng trong dự án. Điều này rất hữu ích vì nếu càng gửi nhiều JavaScript về phía người dùng, trình duyệt càng phải tốn thời gian để dịch và thực thi, làm giảm đi hiệu suất của ứng dụng.

Import Cost

7. Material Icon Theme

Material Icon Theme là Plugin giúp hiển thị icon theo phong cách Material Design

Material Icon Theme

8. VSCode-icons

Là một plugin giúp các icon trên VSCode được hiển thị một cách đẹp mắt hơn, qua đó giúp cho lập trình viên dễ dàng hơn trong quá trình làm việc với VSCode

VSCode-icons

Lời kết

Trên đây là một số Plugin mà mình đã tổng hợp được từ nhiều bài viết được chia sẻ trên các diễn đàn mà mình nghĩ bạn nên sử dụng khi bắt đầu làm việc cùng với VSCode. Hi vọng bài viết này sẽ giúp cho các bạn dễ dàng hơn trong việc sử dụng và làm việc với VSCode để tạo ra những sản phẩm tốt và ưng ý nhất.

Xem thêm:

via Viblo

The post Những Plugin Extensions Hỗ Trợ không thể thiếu cho VSCode appeared first on Tân Hồng IT.

]]>
http://localhost:82/demowp/code-web/plugin-for-vscode/feed/ 0