cari

Rumah  >  Soal Jawab  >  teks badan

Saya beralih kepada menggunakan symfony2.0 untuk membangunkan projek dan ingin bertanya beberapa soalan.

Saya pernah menggunakan symfony1.4+propel untuk membangunkan projek, dan kini saya bertukar kepada symfony2.0, tetapi saya tidak pernah menggunakan doktrin, tetapi lalai rasmi ialah doktrin dan membuang propel.
1. Apakah kelebihan menggunakan doktrin? Relatif kepada prop. Projek adalah aspek sistem.
2. Apabila menggunakan prop, saya mendapati bahawa kumpulan oleh tidak begitu berguna, bukan?
3. Bagaimanakah doktrin mengendalikan perhubungan M:N banyak-ke-banyak?

Selain itu, saya menyiarkan kemungkinan masalah dengan doktrin, dan saya merujuk kepada orang lain:
1. Ralat dokumentasi. Gunakan pilihan untuk mengkonfigurasi pilihan medan tambahan, seperti atribut tidak ditandatangani dan lalai dan yml yang dijana ditentukan secara langsung pada medan.
2. Kunci asing tidak boleh menyatakan tidak ditandatangani atau lalai
3. Hubungan jadual ialah hubungan tidak mengenal pasti

Terima kasih!

某草草某草草2785 hari yang lalu531

membalas semua(1)saya akan balas

  • 怪我咯

    怪我咯2017-05-16 16:48:03

    Fungsi yang disokong oleh Doktrin "standard" ialah koleksi fungsi yang disokong oleh semua pangkalan data hubungan (MySQL, PostgrelSql, dsb.) yang disokong oleh PDO Dalam erti kata lain, apa sahaja yang A sokong tetapi B tidak sokong tidak akan disokong oleh Doktrin secara lalai Ya, tetapi Doktrin mempunyai skalabiliti yang baik dan kod pihak ketiga yang kaya. Saya tidak tahu cara mencarinya di Baidu Jika saya mencari Doktrin+Sambungan di Google, saya akan mendapat banyak.

    Sokongan banyak-ke-banyak doktrin cukup baik dan mencukupi.

    Anda masih boleh menggunakan Propel dalam Symfony 2, terdapat bab khusus dalam dokumentasi laman web rasmi.

    Doctrine dan Propel kedua-duanya bagus (anda boleh menulis pakej pangkalan data sendiri, atau anda boleh menjadi rakan yang baik. Jika anda perlu membandingkan, anda boleh memetik beberapa perbezaan objektif:

    1. Doktrin ialah mod Pemeta Data + Proksi, dan Propel ialah mod Rekod Aktif (ini soalan falsafah
    2. ).
    3. Komuniti doktrin lebih aktif
    4. Symfony 2 menggunakan perpustakaan Common Doctrine untuk melaksanakan suntikan kebergantungan berasaskan anotasi (DI);
    5. Doktrin lebih moden (2.x) dan mempunyai sokongan ciri yang lebih baik untuk PHP 5.3+, tetapi Propel juga mengejar ketinggalan.
    Seperti yang dinyatakan di atas, ciri yang tidak ditandatangani yang anda nyatakan tidak boleh digunakan merentas pangkalan data, jadi sudah tentu ia tidak disokong secara lalai Namun, jika perlu, terdapat banyak cara untuk melakukannya, jadi saya tidak akan menjawab jawapan ini.

    Lalai bukan atribut yang boleh merentas pangkalan data, tetapi anda hanya boleh menentukan nilai lalai untuk pembolehubah ahli yang dipetakan dalam kelas Entiti Doctrine. Apa lagi yang boleh saya minta?

    Janji Doktrin ialah ia boleh digunakan di seluruh perpustakaan, saya rasa kod yang baik hanya melakukan apa yang dijanjikan dari sudut ini, Doktrin masih boleh membuatkan orang berasa selesa. Lagipun, masih ramai orang menggunakan PostgreSql atau SQLite, jadi jangan gunakan pemikiran MySQL untuk memaksa konsistensi.

    balas
    0
  • Batalbalas