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.

phpMyAdmin’in iki farklı türde dönüşümü vardır: phpMyAdmin’de gezinirken sadece verilerin nasıl gösterildiğini etkileyen tarayıcı görüntüleme dönüşümleri; ve phpMyAdmin aracılığıyla eklenmeden önce bir değeri etkileyen girdi dönüşümleri. Her bir sütunun içeriğine farklı dönüşümler uygulayabilirsiniz. Her dönüşümün, depolanan verileri nasıl etkileyeceğini tanımlama seçenekleri vardır.

Bir dosya adı içeren dosyaadi sütunu var sayın. Normal olarak phpMyAdmin içinde sadece bu dosya adını görecektiniz. Görüntüleme dönüşümlerini 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üşüm seçeneklerini kullanarak aynı zamanda bir dizgiye eklemek/başına eklemek için dizgileri ya da istediğiniz depolanan çıktı biçimini belirtebilirsiniz.

Mevcut tüm dönüşümlere ve seçeneklerine genel bir bakış için ya varolan bir sütunun Değiştir bağlantısına gidebilir ya da yeni bir sütun oluşturmak için ileti öğesinden gidebilirsiniz, her iki durumda da sisteminizde bulunan her bir dönüşüm hakkında daha fazla bilgi gösterecek olan “Tarayıcı görüntüleme dönüşümü” ve “Girdi dönüşümü” için o sütun yapısı sayfasında bir bağlantı vardır.

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

Tablo yapısı sayfasına gidin (bir tablo için ‘Yapı’ bağlantısına tıklayarak ulaşın). Oradaki “Değiştir”e (veya değiştir simgesine) tıklayın ve satırın sonunda beş dönüşümle ilgili alanın olduğunu göreceksiniz. Onlara ‘Media type’, ‘Tarayıcı dönüşümü’ ve ‘Dönüşüm seçenekleri’ denir.

  • Media type’ alanı aşağı açılır menü alanıdır. Sütunun içeriklerine karşı gelen Media type seçin. Lütfen birçok dönüşümün bir Media type seçilene kadar etkin olmadığını unutmayın.
  • ‘Tarayıcı görüntüleme 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 yapacağı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 denetimi yoktur, bu yüzden çıktının neye benzeyeceğine dikkat edin.
  • ‘Tarayıcı görüntüleme 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’”. Varsayılan seçenekler, $cfg['DefaultTransformations'] kullanılarak yapılandırılabilir.
  • “Girdi dönüşümü”, “Tarayıcı görüntüleme dönüşümü” için yukarıdaki talimatlara tam olarak karşılık gelen başka bir açılır menüdür, ancak bunlar, veritabanına eklenmeden önce verileri etkiler. Bunlar en yaygın olarak ya özel bir düzenleyici (örneğin, phpMyAdmin SQL düzenleyici arayüzünü kullanarak) ya da seçici (örneğin bir resmi yüklemek gibi) sağlamak için kullanılır. Bir IPv4 adresini ikiliye dönüştürmek veya düzenli bir ifadeyle ayrıştırmak gibi verileri değiştirmek de mümkündür.
  • Son olarak, ‘Girdi dönüşümü seçenekleri’, yukarıdaki “Tarayıcı görüntüleme dönüşümü seçenekleri” bölümünün eşdeğeridir ve isteğe bağlı ve gerekli parametrelerin girildiği yerdir.

Dosya yapısı

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

Özelleştirmeyi kolaylaştırmak ve yeni veya özel dönüşümlerin kolayca eklenmesini sağlamak için dosyalarda saklanırlar.

Kullanıcı kendi mime türlerini giremediğinden dönüşümlerin her zaman işe yarayacağı kesindir. Dönüştürme işlevinin işlemeyi bilmediği bir mime türüne bir dönüşüm uygulamanın hiçbir anlamı yoktur.

Herhangi bir diğer dönüştürme işlevi tarafından dahil edilebilir bazı temel işlevleri sağlayan src/Plugins/Transformations.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].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 src/Plugins/Transformations/TEMPLATE ve src/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 Media type içerir (yani ‘text/plain’, ‘image/jpeg’ vs.)