PHP Flat-File İçerik Yönetimi

Çok zamandır WordPress geliştirmeleri ve kritik sorunlar dışında spesifik olarak PHP dili ile pek çalışmıyorum. Ancak, geçtiğimiz günlerde bir arkadaşımın portfolyo sayfası üzerinden konusu açılan ve not olarak düştüğüm dosya tabanlı içerik üretimine PHP nazarında değinmek istiyorum. Elbette bahsi geçen bu örnek için daha pek çok programlama dili tercih edilebilir. Bu yazıda temel bir örnek, kullanılabilecek daha gelişmiş araçlar ve uygulamalardan bahsedeceğim.

PHP Flat-File Veri Yönetimi

Flat-File, yani dosya tabanlı işlemlerde herhangi bir aracı olmaksızın işlemler PHP tarafında Dosya Sistemi fonksiyonları (fopen, fwrite, fclose vb.) ile yürütülmektedir. Aracı sistemler ile kasıt bir veritabanı sunucusu olabilir. Dosya sistemi fonksiyonlarıyla örneğin bir sql dosyasını MySQL sunucusu olmaksızın kontrol edebilirsiniz. Bu anlamda aşağıda, metin dosyasına kayıt ve düzenleme işlemlerinin yer aldığı bir örnek paylaşıyorum.

$currentFile = "content.txt";
if (isset($_POST['content'])) {
    $newData = nl2br(htmlspecialchars($_POST['content']));
    $currentData = fopen($currentFile, "w");
    fwrite($currentData, $newData);
    fclose($currentData);
}
echo (file_exists($currentFile)) ? $getContent = file_get_contents($currentFile) : '';
echo '</pre >
<form action="'.$_SERVER['PHP_SELF'].'" method="post"><textarea cols="50" name="content" rows="10">'.str_replace("<br />", "", $getContent).'</textarea> <input name="submit" type="submit" value="Send" /></form>';

Örnek kod ilk aşamada textarea içeriğindeki girdiyi content.txt dosyayı oluşturmakta ve içeriğine yazdırmakta. Sonraki süreçte textarea içeriğinde yapılan her değişiklik bu dosya içeriğinde de gerçekleştirilmekte. Flat-file yapısının en temel anlatımını bu şekilde yapabiliriz. content.txt içeriği olarak Nazım Hikmet Ran‘ın Ellerinize ve Yalana Dair şiirini kullandığım örneğin işleyişini aşağıda görmektesiniz.

Php flat file

Project FFDB-PHP

Elbette basit kullanımın çok ötesinde bu yapıyı çok gelişmiş biçimlerde farklı amaçlarla kullanmak mümkün. Bu anlamda ilk bahsedeceğim örnek Project FFDB-PHP adı altında yayınlanmakta. Bir çok özelliğe sahip ve geniş bir veri tiplerini desteği bulunan Project FFDB-PHP ile ilgili detaylı bilgi ve class kullanımına ilgili web sitesinden ulaşabilirsiniz. Örnek kullanımlar klasör içeriğinde yer almakta. Ayrıca farklı örnekler için ise burayı inceleyebilirsiniz.

FlatSQL

Dosya işlemlerini sql üzerinden gerçekleştiren FlatSQL başarılı ve etkili örneklerden biri olmasına karşın uzun zamandır geliştirilmemekte. Github adresi üzerinden kodlarını ve kullanımına dair örnekleri edinebilirsiniz.

Kirby

Kirby dosya tabanlı veri yönetimini içerik yönetimi (CMS) boyutunda uygulayan çalışmalardan biri. Klasörler dahilinde Markdown kurallarıyla içerikler oluşturmayı mümkün kılan uygulama ile ilgili detaylara getkirby.com üzerinden ulaşabilirsiniz.

Grav

Grav ile ilgili daha önceden yayınlanmış bir yazım mevcut. Kirby gibi tüm yönetim sistemini veritabanı sunucusu olmaksızın dosyalar üzerinden yürüten Grav ile ilgili nedir ve nasıl kurulur sorularının cevaplarına ilgili yazımdan ulaşabilirsiniz.

HTMLy

HTMLy uygulaması da yine PHP ile geliştirilmiş, Kirby ve Grav gibi başarılı örneklerden biri. Çok düşük gereksinimlerda dahi etkin bir şekilde çalışabilen HTMLy ile ilgili detaylar için web sayfasını inceleyebilirsiniz.

Dropbox Üzerinden Web Sayfası Yönetimi

Evet, dosyalarınızı dropbox, google drive gibi bulut dosya barındırma ve paylaşım uygulamalarında tutarak da web sayfalarınızı yönetebilirsiniz. Temel olarak ortak payda bir veritabanı sunucusuna ihtiyaç duymuyor oluşunuz. Bu amaçla yayınlanmış 7 Dropbox-Powered Site Creation Platforms yazısında farklı özelliklere sahip uygulamalar yer almakta.

One reply on “PHP Flat-File İçerik Yönetimi

Leave a Reply