Provider'lar
Provider'lara Giriş
Nylo Website'da provider'lar, uygulamanız çalıştığında main.dart dosyanızdan başlatılır. Tüm provider'larınız /lib/app/providers/* dizininde bulunur, bu dosyaları değiştirebilir veya Metro kullanarak provider'larınızı oluşturabilirsiniz.
Provider'lar, uygulama ilk yüklenmeden önce bir sınıfı, paketi başlatmanız veya bir şey oluşturmanız gerektiğinde kullanılabilir. Örneğin, route_provider.dart sınıfı tüm rotaları Nylo Website'ya eklemekten sorumludur.
Derinlemesine İnceleme
import 'package:nylo_framework/nylo_framework.dart';
import 'bootstrap/boot.dart';
/// Nylo - Framework for Flutter Developers
/// Docs: https://nylo.dev/docs/7.x
/// Main entry point for the application.
void main() async {
await Nylo.init(
setup: Boot.nylo,
setupFinished: Boot.finished,
// showSplashScreen: true,
// Uncomment showSplashScreen to show the splash screen
// File: lib/resources/widgets/splash_screen.dart
);
}
Yaşam Döngüsü
-
Boot.Nylo Website, config/providers.dart dosyanızdaki kayıtlı provider'larınız arasında döngü yapacak ve bunları başlatacaktır. -
Boot.Finished, "Boot.Nylo Website" bittikten hemen sonra çağrılır; bu metot Nylo Website örneğini 'nylo' değeriyleBackpack'e bağlayacaktır.
Örn. Backpack.instance.read('nylo'); // Nylo Website örneği
Yeni bir Provider Oluşturma
Terminalde aşağıdaki komutu çalıştırarak yeni provider'lar oluşturabilirsiniz.
metro make:provider cache_provider
Provider Nesnesi
Provider'ınız iki metoda sahip olacaktır: setup(Nylo nylo) ve boot(Nylo nylo).
Uygulama ilk kez çalıştığında, setup metodunuzdaki herhangi bir kod ilk olarak yürütülecektir. Aşağıdaki örnekteki gibi Nylo nesnesini de manipüle edebilirsiniz.
Örnek: lib/app/providers/app_provider.dart
class AppProvider extends NyProvider {
@override
Future<Nylo?> setup(Nylo nylo) async {
await NyLocalization.instance.init(
localeType: localeType,
languageCode: languageCode,
languagesList: languagesList,
assetsDirectory: assetsDirectory,
valuesAsMap: valuesAsMap);
return nylo;
}
@override
Future<void> boot(Nylo nylo) async {
User user = await Auth.user();
if (!user.isSubscribed) {
await Auth.remove();
}
}
}
Yaşam Döngüsü
setup(Nylo nylo)- Provider'ınızı başlatın.Nyloörneğini veyanulldöndürün.boot(Nylo nylo)- Tüm provider'lar kurulumu tamamladıktan sonra çağrılır. Diğer provider'ların hazır olmasına bağlı olan başlatma işlemleri için bunu kullanın.
setupmetodu içinde, yukarıdaki gibi birNyloörneği veyanulldöndürmelisiniz.