Dönüşümler

Not

Dönüşümlerin özelliğini kullanmak için phpMyAdmin yapılandırma depolaması‘nı yapılandırmanız gerekir.

Giriş

Dönüşümleri etkinleştirmek için column_info tablosunu ve doğru yönergeleri ayarlamalısınız. Lütfen bunun nasıl yapılacağına Yapılandırma bölümünden bakın.

Her bir sütunun içeriklerine farklı dönüşümleri uygulayabilirsiniz. Dönüşüm her bir sütunun içeriğini alacaktır ve seçili dönüşümler içinde tanımlanmış belirli kurallar çerçevesinde bunu dönüştürecektir.

Bir dosya adı içeren ‘dosyaadi’ sütunu var sayın. Normal olarak phpMyAdmin içinde sadece bu dosya adını görecektiniz. Dönüşümleri kullanarak dosya adını HTML bağlantısına dönüştürebilirsiniz, böylece sütunun bağlantısında phpMyAdmin yapısının içerisine tıklayabilirsiniz ve dosyanın yeni bir tarayıcı penceresinde görüntülendiğini göreceksiniz. Dönüştürme seçeneklerini kullanarak aynı zamanda bir dizgiye eklemek/başına eklemek için dizgileri ya da istediğiniz depolanan çıktı biçimini belirtebilirsiniz.

Tüm kullanılabilir dönüşümlere genel bir bakış ve seçenekleri için <www.anamakineniz.com>/<kurulum-dizininiz>/transformation_overview.php kurulumuna başvurabilirsiniz.

Dönüşümleri nasıl etkili olarak kullanabileceğinizle ilgili eğitim için resmi phpMyAdmin ana sayfamazdaki Bağlantı bölümümüze bakın.

Kullanım

tbl_structure.php sayfanıza gidin (yani bir tablo için ‘Yapı’ bağlatısına tıklayarak ulaşın). Oradaki “Değiştir“‘e (veya değiştir simgesine) tıklayın ve satırın sonunda üç yeni alanın olduğunu göreceksiniz. Onlara ‘MIME-türü’, ‘Tarayıcı dönüştürme’ ve ‘Dönüştürme seçenekleri’ denir.

  • ‘MIME-türü’ alanı aşağı açılır menü alanıdır. Sütunun içeriklerine karşı gelen MIME-türünü seçin. Lütfen unutmayın dönüşümler MIME-türü seçilmediği sürece etkin değildir.

  • ‘Tarayıcı dönüşümü’ alanı aşağı açılır bir alandır. Ön tanımlı dönüşümlerin umutla büyüyen miktardan seçebilirsiniz. Kendi dönüşümünüzü nasıl yapaıcağınız bilgisi için aşağıya bakın. Genel dönüşümler ve mime türü sınırlı dönüşümleri vardır. Genel dönüşümler herhangi bir mime türü için kullanılabilir. Eğer gerekli olursa, ne olursa olsun mime türünü alacaklardır. Mime türü sınırlı dönüşümleri genellikle sadece belli bir mime türünde işler. Ana mime türünde (‘image’ gibi) işleyen dönüşümler vardır, büyük olasılıkla ne olursa olsun alt türü alacaktır ve sadece belirli bir alt türde (‘image/jpeg’ gibi) işleyenlerdir. Dönüşümleri tanımlanmamış işlev için olan mime türlerinde kullanabilirsiniz. Seçtiğiniz doğru dönüşüm için güvenlik kontrolü yoktur, bu yüzden çıktının neye benzeyeceğine dikkat edin.

  • ‘Dönüşüm seçenekleri’ alanı serbest tür metin alanıdır. Buraya belli dönüşüm işlevi seçeneklerini girmek zorundasınız. Genellikle dönüştürmeler varsayılan seçeneklerle işleyebilir ama genel olarak hangi seçeneklerin gerekli olduğunu görmek için genel bakışla bakmak iyi bir fikirdir. ENUM/SET-Alanları gibi, ‘a’,’b’,’c’,...(EKSİK BOŞLUKLARI UNUTMAYIN) biçimini kullanan birkaç seçeneğe bölmek zorundasınız. Bunun nedeni dahili olarak seçeneklerin bir dizilim gibi ayrıştırılacağıdır, dizilimde ilk değeri ilk öğeyi bırakın ve saire. Eğer MIME karakter grubu belirlemek istiyorsanız, dönüştürme_seçenekleri içinden tanımlayabilirsiniz. Bunu, gurubun son değeri olarak belirli mime-dönüşümün ön tanımlanmış seçeneklerinin dışına koymalısınız. “’; charset=XXX’” biçimini kullanın. Eğer dönüşüm kullanırsanız, belirleyebileceğiniz 2 seçenek için ve karakter grubuna ilave etmek isterseniz, “‘birinci parametre’,’ikinci parametre’,’charset=us-ascii’” girin. Ancak varsayılanları kullanabileceğiniz parametreler: “’‘,’‘,’charset=us-ascii’”.

Dosya yapısı

Mime türleri için tüm belirli dönüşümler ‘libraries/plugins/transformations/’ dizini içindeki sınıf (class) dosyaları aracılığıyla tanımlanır. Her biri libraries/plugins/transformations/abstract içinde tanımlanmış belirli bir dönüşüm soyut sınıfını (abstract class) genişletir.

Özelleştirmeyi genişletmek ve yeni dönüşümlerin kolay eklenmesi için dosyalarda saklanır.

Çünkü kullanıcı kendi mime türlerini giremez, dönüştürmelerin daima çalıştığından emin olunmasını sağlar. Mime türüne dönüşümün uygulanmasını mantıksız yapar, dönüştürme işlevi başa çıkmayı bilmez.

Herhangi bir diğer dönüştürme işlevi tarafından dahil edilebilir bazı temel işlevleri sağlayan ‘transformations.lib.php‘ adında bir dosya vardır.

[Transformation Name]TransformationsPlugin adına sahip soyut sınıfını genişletirken dosya adı geleneği [Mimetype]_[Subtype]_[Transformation Name].class.php‘dir. Dönüşümlerin eklentileriyle uygulanmak zorunda olan yöntemlerin tümü:

  1. ana sınıf (class) içindeki getMIMEType() ve getMIMESubtype();

  2. genişletilen soyut sınıfı (abstract class) içindeki getName(), getInfo() ve applyTransformation().

getMIMEType(), getMIMESubtype() ve getName() yöntemleri MIME türünün adını, MIME Alt türünü ve buna göre de dönüşümü döndürür. getInfo() dönüşümlerin açıklamasını ve alabileceği olası seçenekleri döndürür ve applyTransformation() dönüşüm eklentisinin asıl çalışma yöntemidir.

Kendi dönüşüm eklentinizi eklemek için lütfen libraries/plugins/transformations/TEMPLATE ve libraries/plugins/transformations/TEMPLATE_ABSTRACT dosyalarına bakın. Ayrıca (soyut dönüşüm sınıfı ile ya da olmadan) yeni bir dönüşüm eklentisi oluşturabilirsiniz, file:scripts/transformations_generator_plugin.sh veya scripts/transformations_generator_main_class.sh kullanarak.

applyTransformation() yöntemi her zaman üç değişkenle iletilir:

  1. $buffer - Sütunun içindeki metni içerir. Bu dönüştürmek istediğiniz metindir.

  2. $options - Dizilim olarak herhangi bir kullanıcı geçişli seçenekten bir dönüştürme işlevine kadar olanı içerir.

  3. $meta - Sütununuz hakkındaki bilgiye sahip bir nesne içerir. Veri mysql_fetch_field() işlevinin çıktısından çizilir. Bunun anlamı, kılavuz sayfasında anlatılmış tüm nesne tercihleri bu değişken içinde mevcuttur ve unsigned/zerofill/not_null/... tercihlerine göre sütunu dönüştürmek için kullanılabilir. $meta->mime türü değişkeni sütunun orijinal MIME-türünü içerir (yani ‘text/plain’, ‘image/jpeg’ vs.)