Fungsi berguna yang sering dipakai di PHP

Bismillaahirrohmaanirrohiim…

Di bawah ini adalah fungsi yang berguna di PHP yang sering dipakai oleh programmer PHP.

– Generate uniq ID

Biasanya di database MySQL programmer suka menggunakan autoincrement untuk primary key-nya, namun masalahnya akan muncul saat syncronisasi data dari beberapa database backup, karena bisa jadi nilai primary-nya sama.
Sebagai solusinya, programmer membuat sendiri fungsi yang menandai ID primary key benar-benar unik.

function getId() {
  $idt = explode(" ", microtime());
  $uniqid = $idt[1]. substr($idt[0], 2);
  return $uniqid.rand(1000,9999);
}

atau

function getId() {
  return uniqid(rand(1000,9999),true);
}

fungsi di atas bisa jadi masih berpotensi menghasilkan kode yang sama, silahkan ubah random angkanya sesuai kebutuhan.

– Menampilkan teks saat kode dijalankan

Saat menjalankan program PHP, biasanya teks baru akan ditampilkan setelah kode pada file tersebut selesai dieksekusi.
Nah, untuk menampilkan text tanpa menunggu kode selesai diekseskusi fungsinya adalah sebagai berikut:

function print_cmd($txt) {
    echo $txt;

    @ob_end_flush();
    @ob_flush();
    flush();
    ob_start();
}

– Menunggu user input saat php CLI dijalankan

function wait_user_input() {
    $handle = fopen ("php://stdin","r");
    $line = fgets($handle);
    fclose($handle);
    
    return trim($line);
}

– Host tidak sama dengan domain kita

Jika kita punya website dengan IP address private, semua domain dapat diarahkan ke IP website kita.
Sehingga jika ada orang iseng membuat nama domain lain kemudian diarahkan ke IP website kita, jadinya web kita mempunyai banyak alamat website.
Contoh, IP server kita 123.123.123.123 bisa untuk domain webku.com, webmu.com, webkita.com dengan tampilan yang sama.
Agar setiap domain yang diarahkan ke IP server menjadi benar-benar domain milik kita, fungsinya adalah sbb:

if (strtolower($_SERVER['HTTP_HOST']) !== 'namadomainku.com') {
  header('location:https://namadomainku.com'.$_SERVER['REQUEST_URI']);
  exit();
}

– Echo pre

Untuk memudahkan membaca array, daripada var_dump hehehe

function echoPre($arr) {
  echo '<pre>';
  print_r($arr);
  echo '</pre>';
}

– Teks menjadi slug

Tujuan sudah jelas, agar link kita sesuai judul berita sehingga disukai search engine.

function textToSlug($text='') {
  $text = trim($text);
  if (empty($text)) return '';

    $text = preg_replace("/[^a-zA-Z0-9\-\s]+/", "", $text);
    $text = strtolower(trim($text));
    $text = str_replace(' ', '-', $text);
    $text = $text_ori = preg_replace('/\-{2,}/', '-', $text);

    return $text;
}

– Slug menjadi text

Kebalikan dari teks menjadi slug, dari URL menjadi teks yang mudah dibaca manusia.

function slugToText($slug='') {
  $slug = trim($slug);
  if (empty($slug)) return '';

    $slug = str_replace('-', ' ', $slug);
    $slug = ucwords($slug);
    return $slug;
}

– simpan html yang ditampilkan kedalam teks

Ini biasa dipakai saat ingin cache full page, beberapa plugin cache wordpress konsepnya dia membuat file statis (txt, html, dll) berdasarkan URL, jika sudah disimpan dalam cache saat ada akses ke URL tersebut tidak perlu query macem-macem, tinggal ambil dari cache yang disimpan tersebut.
berikut ini cara menyimpan teks, html, css, javascript ke dalam file statis.

$cached_file = dirname(__FILE__).'/cache/namacache.html';
ob_start();
//teks/html/css/javascript
@file_put_contents($cached_file, ob_get_contents());
– Redirect http ke https dengan PHP

Kode di bawah ini  bisa digunakan untuk wordpress maupun untuk web PHP pada umumnya. Contoh ini jika dipakai di wordpress terbaru.

<?php
$host_http = 'yourdomain.com';

if (!isset($_SERVER['HTTP_HOST'])) $_SERVER['HTTP_HOST'] = $host_http;
if (!isset($_SERVER['REQUEST_URI'])) $_SERVER['REQUEST_URI'] = '';

if (strtolower($_SERVER['HTTP_HOST']) !== $host_http) {
  header('location:https://'.$host_http.$_SERVER['REQUEST_URI']);
  exit();
}

$protocol_web = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']!=='off') || $_SERVER['SERVER_PORT']==443) ? 'https://':'http://';

if ($protocol_web==='http://') {
  header('location:https://'.$host_http.$_SERVER['REQUEST_URI']);
  exit();
}
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

Set timezone asia jakarta

ini_set('date.timezone','Asia/Jakarta');
//bisa juga ditambahkan dibawahnya
date_default_timezone_set("Asia/Jakarta");

Mengambil nama file yang sedang diakses

//misal url = https://namadomain/blog/proses-data.php
basename(__FILE__, '.php');
output: proses-data

basename(__FILE__);
output: proses-data.php

Cek JSON valid atau tidak

$array = json_decode($json, true);
if (json_last_error() !== JSON_ERROR_NONE) {
    echo 'json not valid';
} else {
    echo 'json valid';
}

 

Demikian beberapa fungsi yang berguna yang biasa digunakan programmer PHP untuk keperluan ngoding.

Monggo jika ada yang ingin menambahkan fungsi berguna atau ingin membuat fungsi lainnya.

Semoga bermanfaat…

Bagikan

You May Also Like

About the Author: rasupe

Leave a Reply

Your email address will not be published. Required fields are marked *