Butuh bantuan - curah pendapat kelas penjadwal php

8

Saya belum pernah menulis kelas php sebelumnya dari awal. Tapi saya kira Anda harus mulai dari suatu tempat, bukan? Saya punya ide, tetapi butuh bantuan dengan logika. Tolong beritahu saya apa yang Anda pikirkan. Jelas di bawah ini adalah singkatan. Dalam tahap perencanaan.

Class - 
 -> type (recurring, single, day)
 -> Recurring days (4,2,3,4,1,2....etc. for odd schedules- need even pairs)
 -> Shift Type (onshift, vacation, medical, etc...)
 -> Emp Id
 -> Start
 -> End
 -> Location Id
 -> Hours per day
 -> Day start time

 get schedule ( by account/location/company/unit/crew/individual )
      select single entries
      separate array into days (1 day) increments
      if single entries have linking day entries, replace array with day entry information
      return mysql array of days for the time period;

 set schedule ( dates, emp id)
      if recurring
          if already exisits || conflicts with existing
              error
          create recurring template in db table
          create single db entries using recurring days for 1 year
      if single
          if date is between dates already in db || more than 1 year out
              error
          else
              insert into db
      if day
          if no existing single range
             error
          else
             insert into db under day table, with id linking to id of existing single.

 remove recurringOnly(emp id)
      delete all entries with recurring id

 remove all entries( from this date forward, emp id )
      delete entries with start date > date

 cronUpdate( cron start / end dates)
      if cron start / end dates
           delete anything with dates bigger than nextUpdate (to make sure no errors)
           select recurring db entries with nextUpdate between cron start/ end
           insert into db the next set of "recurring days" for the employee
           update nextUpdate date for employee
      else - error

sumber
+1 untuk pseudocode. Namun, dapatkah Anda lebih spesifik tentang logika apa yang Anda cari bantuan?
Jordan
Logan, terima kasih kepada Anda karena ingin melakukan ini dengan cara yang benar dan benar-benar melakukan brainstorming terhadap proses Anda. Saya suka pengguna seperti Anda. Tetapi apa sebenarnya yang Anda butuhkan bantuan?
Levi Morrison
Saya gugup dengan jadwal get, di mana saya membagi kenaikan hari. Saya berpikir bahwa itu bisa sangat intensif, terutama ketika mendapatkan jadwal untuk seluruh departemen. Juga, ini akan menjadi banyak data yang dikembalikan ke halaman. Tetapi saya tidak dapat melihat cara lain untuk dapat memperbarui informasi setiap hari yang disesuaikan.
@ Logo: Bisakah Anda membuat diagram kelas UML untuk kelas Anda? Itu akan lebih baik membantu.
Victor

Jawaban:

1

Data pertama yang Anda daftarkan dapat berupa atribut. Ingatlah untuk mengatur atribut ke pribadi dan metode getter dan setter untuk umum. Kemudian Anda dapat membuat metode berdasarkan algoritma yang sudah Anda miliki. itu ide bagus untuk mengkodekan kelas Anda dalam satu file dengan nama yang sama dengan kelas Anda untuk membantu mengatur proyek Anda.

Pemenang
sumber