Posts

5 CMS (Content Management System) PHP Terbaik

Beberapa waktu yang lalu kami sudah membahas tetang 5 Framework PHP terbik, sekarang kita akan membahas tentang CMS terbaik. CMS itu apa? CMS adalah singkatan dari Content Management System yang memungkinkan pengguna membuat, menerbitkan dan mengelola semua konten Page dan Post. Tool canggih ini memungkinkan pengguna membuat situs web yang efektif dan terstruktur dengan baik dalam sehari. Saat ini sebagian besar perusahaan lebih menyukai situs CMS (Content Management System) karena mudah untuk menjaga situs web seperti membuat, mengedit, mempublish konten dari situs website.

Daftar 5 CMS PHP terbaik :

  1. WordPress
  2. Drupal
  3. Joomla
  4. MODX
  5. Concrere5

Mari kita mulai bahas satu persatu 5 CMS PHP terbaik :

WordPress

WordPress adalah web software yang bisa kita gunakan untuk membuat website dan blog. Saat ini wordpress adalah platform blogging yang paling populer untuk para blogger. WordPress awalnya dirilis pada tanggal 27 Mei 2003 oleh Matt Mullenweg dan Make Little, telah berkembang seiring waktu dan sekaran g telah menjadi CMS yang paling populer di PHP.

Fitur
  • Management Pengguna (User Management)
  • Management Media (Media Management)
  • Sistem Tema (Theme System)
  • Mengembangkan dengan plugin (Extend with Plugins)
  • Optimisasi mesin pencari (Serch Engine Optimization)
  • Multilingual
  • Importer (Importer)

Drupal

Drupal adalah CMS terbaik lainnya yang digunakan untuk membuat jutaan situs web dan aplikasi. Drupal serbaguna dan powerfull sehingga memberi banyak kebebasan bagi developer. Drupal adalah Content Management System (CMS) gratis dan open source yang memungkinkan pengorganisasian, pengelolaan dan pengelolaan dan publish kontent. Drupal awalnya dirilis pada bulan Januari 2011 oleh Dries Buytaerti.

Fitur
  • Drupal membantu Anda dengan mudah membuat dan mengelola situs Anda
  • Drupal adalah software open source sehingga tidak memerlukan biaya lisensi.
  • Drupal membantu dalam membuat atau mengelola blog atau situs web dengan mudah

Joomla

Joomla adalah pemenang penghargaan Content Management System berbasis PHP. Seperti Drupal, Joomla juga termasuk kedalam CMS populer dikalangan developer. Sangat disarankan untuk membangun toko online dan jejaring sosial besar dan aplikasi web lainnya. Joomla gratis dan dapat diperpanjang yang dipisahkan menjadi template front-end dan back-end.

Joomla didasarkan pada Mambo CMS yang dikembangkan oleh perusahaan Australia pada tahun 2001 dan awalnya dirilis pada tanggal 17 Agustus 2005

Fitur
  • User manager (manajer pengguna)
  • Content manager (Pengelola konten)
  • Banner manager (Manager banner)
  • Template manager (Manager Template)
  • Menu manager (Manager Menu)
  • Weblink manager (Manager Weblink)
  • Media manager (Manager Media)

MODX

MODX adalah salah satu Sistem Pengelolaan Konten yang paling kreatif dan fleksibel untuk Platform MODX web sangat mudah dipasang dan dikelola. MODX juga merupakan CMS populer namun relatif kurang digunakan untuk membuat situs web. MODX telah mendapatkan Content Managament System Open Source Pack Publishing pada 2017

Concrete5

Concrete adalah CMS terbaik lainnya (Content Management System). Concrete lebih powerfull dan mudah digunakan. Panel admin concrete mudah digunakan dan tampilannya bagus. Concrete juga menyediakan plugin, addon dan tema. User interface Concrete mudah digunakan.

5 Framework PHP Terbaik untuk Developer

PHP adalah bahasa script server-side yang paling populer didunia. Saat ini developer membangun situs web dan aplikasi cloud yang sangat kompleks. Dari awal atau inti PHP, sulit untuk mengembangkan situs web dan aplikasi cloud yang kompleks.

10 top framework PHP pada pie menurut survey 2017:

top10

Framework PHP bekerja dengan berdasarkan MVC (Model View Controller) dan lebih terstruktur. Pada artikel ini kami menampilkan Top 5 PHP Framework

Hal pertama, yang datang dalam pikiran mengapa setiap developer lebih suka menggunakan framework karena fitur framework yang dimiliki PHP

Berikut adalah poin untuk membenarkan pernyataan diatas:

  • Framework membuat developer mempercepat dalam pengkodean
  • Menyediakan struktur yang terorganisir dengan baik, kode yang dapat digunakan kembali dan mudah dipelihara
  • Menyediakan skalabel dalam membuat aplikasi web
  • Menyediakan keamanan tingkat tinggi dari serangan apapun
  • Ikut pola MVC (Model View Controller) yang memisahkan presentasi dan logika
  • Mendukug alat pemrograman berorientasi objek
  • Paket ringan

Laravel

Laravel adalah framework PHP baru (dirilis pada  tahun 2011), framework yang paling populer diantara semua developer. Laravel memiliki banyak fitur yang membantu developer untuk membuat pengembangan aplikasi cepat. Laravel memiliki mesin templating ringan yang disebut “BLADE”, sistaks memberi Anda yang sering dilakukan seperti otentikasi, query, caching, session, routing.

Berdasarkan survey 2017, Laravel digunakan 43,7% (3.177) di proyek oleh developer. Laravel memberikan fleksibilitas lebih untuk mengembangkan situs web kompleks dan aplikasi cluod.

laravel

Codeigniter

Codeigniter merupakan framework yang cukup ringan (dirilis pada tahun 2006). Codeigniter sangat mudah diinstall, dalam waktu setengah jam Anda bisa menjalankan program sederhana Anda dengan Codeigniter. Framework ini berfungsi dengan baik dihampir semua Shared dan Dedicated hosting Platform. Saat ini diperlukan versi PHP 5.2.4

Berdasarkan survei 2017, Codeigniter digunakan 14,9% (1.085) pada Proyek developer. Codeigniter memberikan kefleksibilitas lebih untuk mengembangkan Situs Web Kompleks dan Aplikasi Cloud.

codeigniter

Symfony

Symfony juga salah satu framework yang cukup ringan (dirilis pada tahun 2005). Framework Symfony digunakan dalam proyek seperti Drupal CMS (Content Management System) atau perangkat lunak Forum PhpBB. Symfony memiliki komunitas developer yang luas dan Laravel juga mempercayainya juga.

Komponen Symfony terdiri dari Usable PHP Library yang bisa digunakan dengan tugas yang berbeda seperti konfigurasi objek, routing, pembuatan template form dan lain-lain.

Berdasarkan survei 2017, Symfony menggunakan 13,6% (990) pada proyek oleh developer.

Symfony

Zend

Zend merupakan Framework PHP yang kuat dan stabil (Dirilis pada tahun 2006). Biasanya tidak disarankan untuk proyek kecil karena dikemas dengan banyak konfigurasi namun bagus untuk proyek yang kompleks. Berikut adalah mitra Zend i.e IBM, Microsoft, Google, dan Adobe. Framework Zend 3 terbaru akan dioptimalkan untuk PHP 7 namun mendukung PHP 5.5 dan seterusnya.

Berdasarkan survei 2017, Zend menggunakan 12,6% (907) pada proyek oleh developer.

Zend

Yii 2

Framework Yii lebih cepat dari Framework lainnya (Dirilis pada tahun 2011). Yii meningkatkan kinerja Situs Anda dan lebih cepat dari pada framework lain karena menggunakan teknik loading yang lama. Yii 2 adalah teknik berorientasi murni dan karyanya berdasarkan jangan mengulangi konsep pengarsipan

Yii terintegrasi dengan jQuery dan fitur set Ajax-enabled, Yii baik digunakan pada mereka yang lebih menyukai frontend karena memiliki desain tema frontend.

Berdasarkan survei 2017, Yii menggunakan 5,1% (373) pada proyek oleh developer.

yii

Jadi framework PHP mana yang Anda suka? Jangan lupa share yah

20 Library PHP yang Mengagumkan di Tahun 2017

Minggu ini kami memiliki koleksi library PHP berkualitas tinggi yang telah menarik perhatian kita dalam beberapa bulan terakhir. Kami telah mencoba untuk menyertakannya pada projek yang aktif, terdokumentasi dengan baik dan akan memiliki kesempatan yang realistis dalam menentukan di tempat kerja developer Anda.

Jika kita belum memasukan library baru favorit Anda, jangan ragu untuk membagikannya di komentar.

Requests for PHP

Library tanpa ketergantungan yang memungkinkan Anda mengirim permintaan HTTP. Request for PHP menyediakan metode yang dibutuhkan untuk menambahkan header, mengakses data tanggapan, menangani formulir, dan hal lain yang mungkin Anda butuhkan, dikemas rapih dengan API yang mudah digunakan.

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"
Rinvex Country

Rinvex Country adalah paket PHP yang memungkinkan developer mengambil informasi rinci tentang negara-negara didunia. Dengan menggunakan lebih dari 50 metode, Anda bisa mendapatkan wilayah Angola, mata uang Cyprus, nama asli Namibia atau bahkan nama FIFA Finlandia. Ada satu ton info yang tersedia dan sumber data cukup andal.

$egypt = country('eg');

$egypt->getCapital();   // Cairo
$egypt->getDemonym();   // Egyptian
$egypt->getTld();       // .eg
$egypt->getContinent(); // Africa
$egypt->getSubregion(); // Northern Africa
$egypt->getBorders();   // ["ISR","LBY","SDN"]
Botman

Sebuah library PHP untuk mengembangkan bot messenger. Bekerja dengan sebagian besar platform pesan populer termasuk Facebook Messenger, Slack, Telegrm, WeChat dan lain-lain. Ada juga proyek boilerplate Laravel yang bermanfaat tersedia disini.

// create an instance
$botman = BotManFactory::create($config);

// give the bot something to listen for.
$botman->hears('hello', function (BotMan $bot) {
    $bot->reply('Hello yourself.');
});

// start listening
$botman->listen();
Charts

Paket Laravel untuk menghasilkan grafik yang dapat disesuaikan dari dataset. Paket ini berfungsi sebagai pembungkus PHP untuk beberapa pustaka bagan bawaan, memungkinkan developer untuk membuat berbagai macam grafik, alat pengukur dan progressbar yang hanya menggunakan satu alat.

$chart = Charts::create('line', 'highcharts')
 ->title('My nice chart')
 ->labels(['First', 'Second', 'Third'])
 ->values([5,10,20])
 ->dimensions(0,500);
Swap

Swap memungkinkan Anda untuk mengambil nilai tukar mata uang dari sejumlah layanan seperti Fixer, Google dan Yahoo. Permintaan tanggapan bisa dengan mudah di cache dan diakses nanti. Library tersedia dalam bentuk Paket Library juga.

// Build Swap with Fixer.io
$swap = (new Builder())
    ->add('fixer')
    ->build();
    
// Get the latest EUR/USD rate
$rate = $swap->latest('EUR/USD');

// 1.129
$rate->getValue();

// Get the EUR/USD rate 15 days ago
$rate = $swap->historical('EUR/USD', (new \DateTime())->modify('-15 days'));
Math PHP

Kumpulan fungsi matematika dan algoritma mulai dari aljabar sederhana hingga keuangan, statistik, analisis numerik dan bidang lainnya. Library bersifat modular, memiliki API langsung dan tidak memerlukan ketergantungan eksternal.

// Factors of an integer
$factors = Algebra::factors($n);

// Fibonacci sequence
$fib = Advanced::fibonacci($n);

// Combinations
$nCk  = Combinatorics::combinations($n, $k);

// Likelihood ratios
$LL = Experiment::likelihoodRatio($a, $b, $c, $d);
PHPUnit

PHPUnit adalah framework pengujian lanjutan yang memungkinkan tim untuk menguji kode mereka secara menyeluruh. Unit tes ditulis dalam kelas berorientasi objek mandiri dengan bantuan banyak metode untuk menangani asersi, dependensi dan lain-lain. CLI sederhana disediakan untuk menjalankan pengujian dan menghasilkan laporan.

class StackTest extends TestCase
{
    public function testPushAndPop()
    {
        $stack = [];
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}
Atoum

Framework pengujian yang kurang populer, kami juga ingin berbagi. Atoum menawarkan satu langkah instalasi prosess dan alur kerja yang relatif sederhana. Atoum memiliki mesin tiruan, pernyataan ekspresif, dan CLI yang dapat melakukan beberapa tes secara paralel.

$this->given($testedInstance = new testedClass())
    ->and($testedClass[] = $firstValue = uniqid())
    ->then
        ->sizeof($testedInstance)->isEqualTo(1)
        ->string($testedClass[0])->isEqualTo($firstValue);
Simple Regex Language

Implementasi PHP Simple Regex Language cara penulisan kata-kata biasa secara verbose. Library menyediakan beberapa metode yang dapat dirantai bersama, membentuk aturan RegEx yang mudah dibaca dan mudah dimengerti. Library memiliki port untuk JavaScript dan Python juga.

$query = SRL::startsWith()
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('._%+-');
    })->onceOrMore()
    ->literally('@')
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('.-');
    })->onceOrMore()
    ->literally('.')
    ->letter()->atLeast(2)
    ->mustEnd()->caseInsensitive();
Stash

Stash memudahkan untuk mempercepat kode Anda dengan cara menyimpan hasil dari fungsi atau kode yang mahal. Tindakan tertentu seperti query database atau panggilan ke API eksternal, memerlukan banyak waktu untuk berjalan namun cenderung memiliki hasil yang sama dalam jangka waktu yang singkat. Stash membuat lebih efisien untuk menyimpan hasilnya dan memanggilnya kembali nanti.

$pool = $this->cachePool;

// Get a Stash object from the cache pool.
$item = $pool->getItem("/user/{$userId}/info");

// Get the data from it, if any happens to be there.
$userInfo = $item->get();

// Check to see if the cache missed, which could mean that it either
// didn't exist or was stale.
if($item->isMiss())
{
    // Run the relatively expensive code.
    $userInfo = loadUserInfoFromDatabase($userId);

    // Set the new value in $item.
    $item->set($userInfo);

    // Store the expensive code so the next time it doesn't miss.
    $pool->save($item)
}
PHP VCR

Port library Ruby yang populer untuk menguji interaksi HTTP. PHP VCR mencatat permintaan HTTP dan menyimpannya dalam kaset yang dapat diputar ulang nantinya. Satu set utilitas pengujian juga disediakan, sehingga memungkinkan untuk memeriksa dan membandingkan rekaman secara rinci.

// After turning on, the VCR will intercept all requests
\VCR\VCR::turnOn();

// Record requests and responses in cassette file 'example'
\VCR\VCR::insertCassette('example');

// Following request will be recorded once and replayed in future test runs
$result = file_get_contents('http://example.com');
$this->assertNotEmpty($result);

// To stop recording requests, eject the cassette
\VCR\VCR::eject();

// Turn off VCR to stop intercepting requests
\VCR\VCR::turnOff();
OAuth 2.0 Server

Library ini memungkinkan Anda mengkonfigurasi OAuth 2.0 Server dengan mudah dan mengatur semua tingkat otentikasi yang diperlukan untuk melindungi API Anda. OAuth 2.0 Server  sepenuhnya sesuai standar dan mendukung semua hibah yang ditentukan oleh protokol Oauth. Modul Passport Laravel dibangun diatas Server 2.0 Oauth.

// Setup the authorization server
$server = new \League\OAuth2\Server\AuthorizationServer(
    $clientRepository,
    $accessTokenRepository,
    $scopeRepository,
    $privateKey,
    $publicKey
);

// Enable a grant on the server
$server->enableGrantType(
    new \League\OAuth2\Server\Grant\ClientCredentialsGrant(),
    new \DateInterval('PT1H') // access tokens will expire after 1 hour
);
Imagine

Library untuk memanipulasi gambar yang mencoba menggabungkan semua library pengolahan PHP tingkat rendah dibawah API berorientasi objek yang sama. Imagine memungkinkan Imagine digunakan untuk berbagai macam tugas seperti menggambar (drawing), mengubah ukuran (resizing) , memotong (cropping), menyaring (filter), memberi efek (effect), mengedit metadata (metadata editing) dan lainnya.

$palette = new Imagine\Image\Palette\RGB();

$image = $imagine->create(new Box(400, 300), $palette->color('#000'));

$image->draw()
    ->ellipse(new Point(200, 150), new Box(300, 225), $image->palette()->color('fff'));

$image->save('/path/to/ellipse.png');
MINI

Sangat sederhana dan mudah untuk memahami kerangka aplikasi PHP, hanya meyediakan fitur yang paling penting setiap kebutuhan proyek. MINI tidak berusahan menjadi framework do-it-all seperti Laravel, namun karena kesederhanaannya MINI dapat digunakan untuk membuat aplikasi yang lebih kecil berjalan dalam waktu singkat.

// Working with the model
$songs = $this->model->getAllSongs();
$amount_of_songs = $this->model->getAmountOfSongs();

// Loading views
require APP . 'views/_templates/header.php';
require APP . 'views/songs/index.php';
require APP . 'views/_templates/footer.php';
AWS SDK

Library PHP resmi untuk bekerja dengan Amazon Web Service. SDK memudahkan untuk menghubungkan AWS dengan proyek PHP dan mengakses semua berbagai layanan yang tersedia. Ada juga pembungkus Laravel yang berguna bisa ditemukan disini.

// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-west-2'
]);

$s3->putObject([
    'Bucket' => 'my-bucket',
    'Key'    => 'my-object',
    'Body'   => fopen('/path/to/file', 'r'),
    'ACL'    => 'public-read',
]);
Purl

Library PHP yang ringan untuk dapat berjalan dengan URL. Dengan Purl Anda dapat membuat atribut jalur yang kompleks menurut atribut, mengekstrak data dari URL, memanipulasi query, mengenali URL dalam string dan banyak lagi.

$url = \Purl\Url::parse('http://jwage.com')
    ->set('scheme', 'https')
    ->set('port', '443')
    ->set('user', 'jwage')
    ->set('pass', 'password')
    ->set('path', 'about/me')
    ->set('query', 'param1=value1&param2=value2');

echo $url->getUrl(); // https://jwage:password@jwage.com:443/about/me?param1=value1&param2=value2
echo $url->publicSuffix; // com
echo $url->registerableDomain; // jwage.com
Daux.io

Generator dokumentasi yang menggunakan struktur folder sederhana dan penurunan ukuran file untuk membuat situs web dokumentasi yang responsif. Daux.io memiliki penyorotan sintaks otomatis, 4 opsi bertema, HTML Bootstrap untuk memudahkan penyesuaian, navigasi dengan URL yang mudah dibaca dan barang lainnya.

// Example configuration
{
    "title": "DAUX.IO",
    "tagline": "The Easiest Way To Document Your Project",
    "author": "Justin Walsh",
    "image": "app.png",
    "html": {
        "theme": "daux-blue",
        "breadcrumbs": true,
        "repo": "justinwalsh/daux.io",
        "edit_on_github": "justinwalsh/daux.io/blob/master/docs",
        "twitter": ["justin_walsh", "todaymade"],
        "google_analytics": "UA-12653604-10",
        "links": {
            "Download": "https://github.com/justinwalsh/daux.io/archive/master.zip",
            "GitHub Repo": "https://github.com/justinwalsh/daux.io",
            "Made by Todaymade": "http://todaymade.com"
        }
    }
}
Dompdf

Dompdf merupakan generator PDF yang mengambil markup HTML biasa dan mengubahnya menjadi file .pdf. Dompf memahami sebagian besar aturan CSS secara in-line atau melalui stylesheet eksternal.

// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();
Instaphp

Library untuk mengakses Instagram API. Instaphp memberikan kemudahan untuk developer dalam mengautentikasi aplikasi mereka dan mendapatkan akses ke berbagai titik akhir data Instagram termasuk image, user, like, komentar dan tag.

$api = new Instaphp\Instaphp([
    'client_id' => 'your client id',
    'client_secret' => 'your client secret',
    'redirect_uri' => 'http://somehost.foo/callback.php',
    'scope' => 'comments+likes'
]);

$popular = $api->Media->Popular(['count' => 10]);

if (empty($popular->error)) {
    foreach ($popular->data as $item) {
        printf('<img src="%s">', $item['images']['low_resolution']['url']);
    }
}
Latitude

Library untuk membangun query SQL menggunakan metode chainable. Latitude mendukung sebagian besar jenis query dan bekerja dengan baik pada MySQL, Postgres, SQL Server dan database lainnya. Latitude juga membantu melindungi dari SQL injeksi.

$select = SelectQuery::make(
        'id',
        'username'
    )
    ->from('users');

echo $select->sql();
// SELECT id, username FROM users