Yeni bir başlıkta soracaktım ama tam yeri geldi bu başlıkta sorayım dedim.
Yabancı bir videoda kullanıcıya varsayılan bir avatar resmi eklemek için ilgili vendor klasorü içinden
protected function defaultProfilePhotoUrl()
isimli fonksiyonu kopyalayıp user modeli içinde
şu hale getirerek kullanıyor
protected function defaultProfilePhotoUrl() {
return asset('/storage/images/default.png');
}
ingilizce olarak eğitmen üstüne basa basa asla vendor dosyalarını değişmemesi gerektiğini birkaç sefer tekrar ediyor
Sorum şöyle @mgsmus hocam neden vendor dosyalarıyla oynanmıyor ? örneğin bu konuda
\vendor\laravel\jetstream\src\Http\Middleware\ShareInertiaData.php adresinde ilgili kısımları yorum satırına alir yada gerektiği şekilde düzenlenmesinin sakıncası nedir ?
<?php
namespace Laravel\Jetstream\Http\Middleware;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Session;
use Inertia\Inertia;
use Laravel\Fortify\Features;
use Laravel\Jetstream\Jetstream;
class ShareInertiaData
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param callable $next
* @return \Illuminate\Http\Response
*/
public function handle($request, $next)
{
Inertia::share(array_filter([
'jetstream' => function () use ($request) {
$user = $request->user();
return [
'canCreateTeams' => $user &&
Jetstream::userHasTeamFeatures($user) &&
Gate::forUser($user)->check('create', Jetstream::newTeamModel()),
'canManageTwoFactorAuthentication' => Features::canManageTwoFactorAuthentication(),
'canUpdatePassword' => Features::enabled(Features::updatePasswords()),
'canUpdateProfileInformation' => Features::canUpdateProfileInformation(),
'hasEmailVerification' => Features::enabled(Features::emailVerification()),
'flash' => $request->session()->get('flash', []),
'hasAccountDeletionFeatures' => Jetstream::hasAccountDeletionFeatures(),
'hasApiFeatures' => Jetstream::hasApiFeatures(),
'hasTeamFeatures' => Jetstream::hasTeamFeatures(),
'hasTermsAndPrivacyPolicyFeature' => Jetstream::hasTermsAndPrivacyPolicyFeature(),
'managesProfilePhotos' => Jetstream::managesProfilePhotos(),
];
},
'user' => function () use ($request) {
if (! $user = $request->user()) {
return;
}
$userHasTeamFeatures = Jetstream::userHasTeamFeatures($user);
if ($user && $userHasTeamFeatures) {
$user->currentTeam;
}
return array_merge($user->toArray(), array_filter([
'all_teams' => $userHasTeamFeatures ? $user->allTeams()->values() : null,
]), [
'two_factor_enabled' => ! is_null($user->two_factor_secret),
]);
},
'errorBags' => function () {
return collect(optional(Session::get('errors'))->getBags() ?: [])->mapWithKeys(function ($bag, $key) {
return [$key => $bag->messages()];
})->all();
},
]));
return $next($request);
}
}
Sorum genel olarak vendor dosyalarıyla neden oynamamak gerektiği ile ilgili bu konu başlığı sadece denk geldi