php

Kelebihan PHP

Banyak sekali kelebihan yang dimiliki PHP dibandingkan dengan bahasa pemrograman yang
lain, Diantaranya :
1. Bisa membuat Web menjadi Dinamis.
2. PHP bersifat Open Source yang berarti dapat digunakan oleh siapa saja secara gratis.
3. Program yang dibuat dengan PHP bisa dijalankan oleh Semua Sistem Operasi karena PHP
berjalan secara Web Base yag artinya semua Sistem Operasi bahkan HP yang mempunyai
Web Browser dapat menggunakan program PHP.
4. Aplikasi PHP lebih cepat dibandingkan dengan ASP maupun Java.
5. Mendukung banyak paket Database seperti MySQL, Oracle, PostgrSQL, dan lain-lain.
6. Bahasa pemrograman PHP tidak memerlukan Kompilasi / Compile dalam penggunaannya.
7. Banyak Web Server yang mendukung PHP seperti Apache, Lighttpd, IIS dan lain-lain.
8. Pengembangan Aplikasi PHP mudah karena banyak Dokumentasi, Refrensi & Developer
yang membantu dalam pengembangannya.
9. Banyak bertebaran Aplikasi & Program PHP yang Gratis & Siap pakai seperti WordPress,
PrestaShop, dan lain-lain.

Kekurangan PHP

Selain kelebihan PHP, PHP juga mempunyai kekurangan. Namun masalah kekurangannya
sangat sedikit. Diantaranya :
1. PHP Tidak mengenal Package.
2. Jika tidak di encoding, maka kode PHP dabat dibaca semua orang & untuk meng
encodingnya dibutuhkan tool dari Zend yang mahal sekali biayanya.
3. PHP memiliki kelemahan keamanan. Jadi Programmer harus jeli & berhati-hati dalam
melakukan pemrograman & Konfigurasi PHP.
Demikianlah sekelumit beberapa Kelebihan & kekurangan yang ada pada PHP.
Php butuh aplikasi pendukung yaitu xammp untuk penyimpanan data base
Download xammp di https://www.apachefriends.org/index.htm
Setelah file aplikasi XAMPP tersedia, kita akan mulai menginstall aplikasi ini. Silahkan double
klikfile XAMPP anda. Pada contoh ini, file XAMPP saya adalah xampp-win32-5.6.3-0-VC11-
installer.exe.
Jika anda menggunakan anti-virus, akan tampil jendela berikut:

Jendela diatas hanya peringatan bahwa jika program anti virus sedang berjalan, proses instalasi
mungkin akan berjalan lambat atau mengganggu proses instalasi XAMPP. Jika perlu, anda bisa
mematikan anti virus untuk sementara, atau klik saja tombol Yes.
Jendela peringatan berikutnya adalah tentang UAC (User Account Control):
Peringatan ini berkaitan dengan proteksi pada Windows Vista  keatas dimana jika XAMPP diinstall
pada folder C:\Program Files (x86) mungkin akan terjadi pembatasan hak akses yang menyebabkan
XAMPP tidak berjalan dengan normal. Karena alasan ini, saya akan memindahkan file instalasi
XAMPP ke folder lain. Silahkan klik tombol OK untuk melanjutkan.
Jendela awal instalasi akan muncul, Klik Next.

Jendela berikutnya adalah “Select Component”. Pada bagian ini kita bisa memilih aplikasi apa saja
yang akan diinstall. Dalam tahap ini saya akan membiarkan semua pilihan. Klik Next untuk
melanjutkan.

Jendela selanjutnya adalah “Installation Folder”. Dalam bagian ini, kita bisa mengubah
lokasi dimana file-file XAMPP akan disimpan. Anda bebas menentukan lokasi ini. Sebagai contoh,
saya akan meletakkan file XAMPP di D:\xampp_5.6.3. Saya menambahkan angka versi XAMPP
karena memiliki beberapa versi XAMPP terinstall di drive D. Penamaan ini hanya untuk
mempermudah saya membedakan instalasi XAMPP. Lanjutkan dengan men-klik tombol Next.

Tampilan berikutnya adalah “Bitnami for XAMPP”. XAMPP menawarkan Bitnami sebagai cara
cepat menginstall CMS seperti wordpress, joomla dan drupal. Tetapi kita akan menginstall wordpress
secara manual, sehingga hapus pilihan “learn more about Bitnami for XAMPP”, kemudian klik Next.
Jendela berikutnya adalah konfirmasi untuk mulai menginstall XAMPP, klik Next, dan XAMPP akan
memulai proses instalasi beberapa saat.

Jika jendela “Completing the XAMPP Setup Wizard” telah tampil, maka proses instalasi XAMPP
telah selesai. Pada bagian ini kita akan langsung mencoba aplikasi XAMPP, sehingga biarkan pilihan
check list “Do you want to start the Control Panel now?”, kemudian klik Finish.

Cara memulai xampp
ka anda membiarkan pilihan “Do you want to start the Control Panel now?” pada
jendela terakhir proses instalasi XAMPP, maka akan tampil jendela XAMPP
Control Panel.
Sesuai dengan namanya, Jendela XAMPP Control Panel ini adalah jendela yang
digunakan untuk mengontrol apa saja modul XAMPP yang akan atau sedang
dijalankan. Jika jendela ini tidak tampil, anda bisa mengaksesnya dari
menu START->All Programs->XAMPP->XAMPP Control Panel.
Untuk menguji instalasi XAMPP, silahkan klik tombol START pada
modul Apache dan MySQL. Jika tidak ada masalah, akan tampil warna hijau
pada bagian modul ini, seperti tampilan dibawah:

Selanjutnya, buka web browser dan ketikkan

alamat localhost pada address bar, kemudian tekanenter. Jika tampil jendela
pembuka XAMPP, maka semuanya telah terinstall dengan baik.

Selanjutnya pilih menu bahasa. Karena bahasa indonesia
belum tersedia, silahkan pilih English, dan tampilan home XAMPP siap diakses.

Sampai disini kita telah berhasil menginstall XAMPP 5.6.3 pada Windows. Dalam
tutorial belajar wordpress selanjutnya, kita akan membahas cara membuat
database untuk wordpress menggunakan Phpmyadmin.
Membuat helo word
echo “Hello World…!!!”;
echo “<br />”;
print “Hello Again World…!!!”;
print “<br /><br />”;
echo (“echo() bisa digunakan dengan atau tanpa kurung buka-tutup seperti pada contoh<br />”);
print (“demikian juga dengan print()<br />”);
?>
echo “Hello World…!!!”;
Array (
[0] => request1 in 0.7768 seconds
[1] => request2 in 0.9254 seconds
[2] => request3 in 0.8643 seconds
)
total time: 0.9579 seconds
Parallel GET requests with curl_multi PHP
<?php
$s = microtime(true);
// Define the URLs
$urls = array(
  "http://localhost/r.php?echo=request1",
  "http://localhost/r.php?echo=request2",
  "http://localhost/r.php?echo=request3"
);
$pg = new ParallelGet($urls);
print "<br />total time: ".round(microtime(true) - $s, 4)." seconds";
// Class to run parallel GET requests and return the transfer
class ParallelGet
{
  function __construct($urls)
  {
    // Create get requests for each URL
    $mh = curl_multi_init();
    foreach($urls as $i => $url)
    {
      $ch[$i] = curl_init($url);
      curl_setopt($ch[$i], CURLOPT_RETURNTRANSFER, 1);
      curl_multi_add_handle($mh, $ch[$i]);

    }
    // Start performing the request
    do {
        $execReturnValue = curl_multi_exec($mh, $runningHandles);
    } while ($execReturnValue == CURLM_CALL_MULTI_PERFORM);
    // Loop and continue processing the request
    while ($runningHandles && $execReturnValue == CURLM_OK) {
      // Wait forever for network
      $numberReady = curl_multi_select($mh);
      if ($numberReady != -1) {
        // Pull in any new data, or at least handle timeouts
        do {
          $execReturnValue = curl_multi_exec($mh, $runningHandles);
        } while ($execReturnValue == CURLM_CALL_MULTI_PERFORM);
      }
    }
    // Check for any errors
    if ($execReturnValue != CURLM_OK) {
      trigger_error("Curl multi read error $execReturnValue\n", E_USER_WARNING);
    }
    // Extract the content
    foreach($urls as $i => $url)
    {
      // Check for errors
      $curlError = curl_error($ch[$i]);
      if($curlError == "") {
        $res[$i] = curl_multi_getcontent($ch[$i]);
      } else {
        print "Curl error on handle $i: $curlError\n";
      }
      // Remove and close the handle
      curl_multi_remove_handle($mh, $ch[$i]);
      curl_close($ch[$i]);
    }
    // Clean up the curl_multi handle
    curl_multi_close($mh);
   
    // Print the response data
    print_r($res);
  }
}
?>
Test script of random size and execution time
<?php
// r.php
// This script runs a variable amount of time
// and generates a variable amount of data
// Output a random amount of blank space
$s = microtime(true);
$m = rand(500,1000);
for($i = 0; $i < $m; $i++) {
  print "         \n";
  usleep(10);
}
// Print time taken and the value of the "echo" parameter
print isset($_REQUEST["echo"]) ? $_REQUEST["echo"] : "";
print " in ";
print round(microtime(true) - $s, 4)." seconds";
exit();

?>
Sumber http://www.somacon.com/p537.php
#!/usr/bin/php
<?php
class AsyncOperation extends Thread {
public function __construct($arg) {
$this->arg = $arg;
}
public function run() {
if ($this->arg) {
$sleep = mt_rand(1, 10);
printf('%s: %s -start -sleeps %d' . "\n", date("g:i:sa"), $this->arg, $sleep);
sleep($sleep);
printf('%s: %s -finish' . "\n", date("g:i:sa"), $this->arg);
}
}
}
// Create a array
$stack = array();
//Initiate Multiple Thread
foreach ( range("A", "D") as $i ) {
$stack[] = new AsyncOperation($i);
}
// Start The Threads
foreach ( $stack as $t ) {
$t->start();
}
?>
First Run
12:00:06pm: A -start -sleeps 5
12:00:06pm: B -start -sleeps 3
12:00:06pm: C -start -sleeps 10
12:00:06pm: D -start -sleeps 2
12:00:08pm: D -finish
12:00:09pm: B -finish
12:00:11pm: A -finish
12:00:16pm: C -finish
Second Run
12:01:36pm: A -start -sleeps 6
12:01:36pm: B -start -sleeps 1
12:01:36pm: C -start -sleeps 2
12:01:36pm: D -start -sleeps 1
12:01:37pm: B -finish
12:01:37pm: D -finish
12:01:38pm: C -finish
12:01:42pm: A -finish

Komentar