음악 듣기
현재 시중에 나와 있는 주류 음악 플레이어로는 QQ Music, NetEase Cloud Music, Kugou Music, Kuwo Music 등이 있습니다.
사람마다 음악을 듣기 위해 서로 다른 플레이어를 사용할 수 있습니다. 음악 플레이어 중 하나를 선택하여 음악을 들을 수 있습니다. 아래 코드를 참조하세요.
if ($type == 1) { $player = new QQPlayer(); } else if ($type == 2) { $player = new WyPlayer(); } else if ($type == 3) { $player = new KGPlayer(); } $player->on(); // 打开播放器 $player->choiceMusic('思念是一种病'); // 选择歌曲 $player->play(); // 开始播放
지금 Kuwo Music Player를 추가하고 싶거나 NetEase Cloud Music을 제거할 수 있다고 생각하는 경우(Jay Chou의 음악을 들을 수 없음) 노래), 그런 다음 프로그램을 수정해야 합니다(조건부 분기를 수정해야 함). 따라서 이러한 코드는 유지 관리가 어렵습니다.
프로그램 작성 시 한 가지 원칙은 변경 사항을 추출하고 캡슐화하는 것입니다. 조건부 분기를 추출하여 새 클래스로 캡슐화합니다.
간단한 엔지니어링 모드
정의: 다양한 매개변수에 따라 다양한 클래스의 인스턴스를 반환할 수 있는 팩토리 클래스를 정의합니다. 생성된 인스턴스에는 일반적으로 공통 상위 클래스가 있습니다
간단한 팩토리 패턴에서 메서드는 인스턴스를 생성하는 데 사용되는 것은 일반적으로 정적 메서드이므로 간단한 팩토리 패턴을 정적 팩토리 메서드
라고도 합니다. 이제 다음 코드를 사용하여 간단한 엔지니어링 패턴을 만들어 보겠습니다.
class SimpleFactory { public static function createMusicPlayer ($type) { if ($type == 1) { $player = new QQPlayer(); } else if ($type == 2) { $player = new WyPlayer(); } else if ($type == 3) { $player = new KGPlayer(); } else { return null; } return $player; } }
그럼 기사 시작 부분의 코드는 다음과 같습니다. 다음과 같이 수정할 수 있습니다:
$player = SimpleFactory::createMusicPlayer($type); $player->on(); // 打开播放器 $player->choiceMusic('思念是一种病'); // 选择歌曲 $player->play(); // 开始播放
질문이 있을 수 있습니다. 이렇게 하면 무슨 소용이 있나요? 문제를 한 곳에서 다른 곳으로 옮기는 것 같습니다.
생각해 보세요. 아침이나 밤에 음악을 들을 수도 있고, 이 플레이어에 우리가 듣고 싶은 음악이 없으면 다른 플레이어로 바꿔야 합니다. 그러면 여러 장소에서 새로운 음악 플레이어를 만드는 것이 가능합니다. 따라서 이 코드를 여러 곳에 두는 것보다 한 곳에 두는 것이 더 좋습니다. 변경해야 할 경우 한 곳에만 넣으면 됩니다. 이런 방식으로 유지 관리할 때는 간단한 팩토리 패턴 클래스에서 createMusicPlayer만 수정하면 됩니다.
위 내용은 PHP 디자인 패턴 간단한 팩토리 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

phpsessionscanstorestrings, 숫자, 배열 및 객체 1.Strings : TextDatalikeUsernames.2.numbers : integorfloatsforcounters.3.arrays : listslikeshoppingcarts.4.objects : complexStructuresThatareserialized.

세션 재생은 세션 고정 공격의 경우 사용자가 민감한 작업을 수행 할 때 새 세션 ID를 생성하고 이전 ID를 무효화하는 것을 말합니다. 구현 단계에는 다음이 포함됩니다. 1. 민감한 작업 감지, 2. 새 세션 ID 생성, 3. 오래된 세션 ID 파괴, 4. 사용자 측 세션 정보 업데이트.

PHP 세션은 응용 프로그램 성능에 큰 영향을 미칩니다. 최적화 방법은 다음과 같습니다. 1. 데이터베이스를 사용하여 세션 데이터를 저장하여 응답 속도를 향상시킵니다. 2. 세션 데이터 사용을 줄이고 필요한 정보 만 저장하십시오. 3. 비 차단 세션 프로세서를 사용하여 동시성 기능을 향상시킵니다. 4. 사용자 경험과 서버 부담의 균형을 맞추기 위해 세션 만료 시간을 조정하십시오. 5. 영구 세션을 사용하여 데이터 읽기 및 쓰기 시간의 수를 줄입니다.

phpsessionsareser-side, whilecookiesareclient-side.1) sessions stessoredataontheserver, andhandlargerdata.2) cookiesstoredataonthecure, andlimitedinsize.usesessionsforsensitivestataondcookiesfornon-sensistive, client-sensation.

phpidifiesauser의 sssessionusessessioncookiesandssessionids.1) whensession_start () iscalled, phpgeneratesauniquessessionStoredInacookienamedPhpsSessIdonSeuser 'sbrowser.2) thisidallowsphptoretrievessessionDataTromServer.

PHP 세션의 보안은 다음 측정을 통해 달성 할 수 있습니다. 1. Session_REGENEREAT_ID ()를 사용하여 사용자가 로그인하거나 중요한 작업 일 때 세션 ID를 재생합니다. 2. HTTPS 프로토콜을 통해 전송 세션 ID를 암호화합니다. 3. 세션 _save_path ()를 사용하여 세션 데이터를 저장하고 권한을 올바르게 설정할 보안 디렉토리를 지정하십시오.

phpsessionfilesarestoredInTheRectorySpecifiedBysession.save_path, 일반적으로/tmponunix-likesystemsorc : \ windows \ temponwindows.tocustomizethis : 1) austession_save_path () toSetacustomDirectory, verlyTeCustory-swritation;


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구
