揚聲器1:所有,歡迎回來。 這是CS50。 這是9週的開始。 這是開始的其餘部分 你的時間,我們在CS50 現在,終於到Web轉型 方面的課程,在那裡你會 發現很多的基本面, 我們已經出口數週 還回來參觀, 或困擾我們。 但現在,你會發現,它是一個 為了要容易得多, 完成某些任務和 解決某些問題 - 以至於即使你認為 在他們的樂趣若干問題集 自己的路,我認為你會發現 P設定7,第8,然後, 最終,最終的項目將 更可喜的,因為你會 發現我們開始想當然 現在喜歡的東西的內存管理, 指針,這是怎麼回事 引擎蓋下。 再次,專題,所有整個 學期一直是這種分層 和層次感。 而現在我們排序 在這裡,站在 過去幾週的肩膀。 現在,回想最後一次 談到如何在互聯網上工作。 這也許是一個 過於簡單,但要記住, 在世界上的每一台電腦都有一個IP 解決,雖然這是一個有點 仍然過於簡單化。 這些地址被用來唯一 識別機,這樣 當您發送信息,或包, 可以這麼說,他們可以有一個原點 地址和目的地址。 而那些可以使用相同的IP地址 既為好,也為邪惡, 跟踪你的,例如。 事實上,每一個你用筆記本電腦 現在打開,或在你的手機 口袋裡,都有一個IP地址 哈佛的網絡。 它不是那麼困難 關聯,誰和你 這些天。 但更多的,也許 在未來。 現在,我想我會帶回一些 [回憶?提升?]給你 你一個展示的另一個剪輯 可能會發現熟悉。 如果我們可以把燈光調暗 短短的幾秒鐘。 顯示數字追兇。 揚聲器2:這是一個的32位IPP4地址。 揚聲器3:IPP,在互聯網? 揚聲器2:專用網絡。 阿彌陀佛的私人網絡。 她是如此驚人。 揚聲器3:來吧,查理。 揚聲器2:這是。 鏡子的IP地址。 她讓我們看什麼 她在做實時的。 揚聲器1:OK,這樣的幾件事情 不對的圖片。 所以,這個人是可以接受的, 這實際上是 不是一個有效的IP地址。 一個有效的IP地址必須是數字 形式w.x.y.z的,其中每個 這些信件是0到255。 但是,這很好,因為就像 電影裡他們假的電話號碼, 他們偽造的IP地址。 其實你不打真正的服務器。 但是,你要知道,這是一個瀏覽器。 瀏覽器不啟動輸出 像這樣的計算機代碼。 如果我們看得更深,注意 ,他們所看到的語言 屏幕上是一種語言叫 目的C,這是語言 iPhone應用程序被寫入, 特別是那些涉及 蠟筆,你可以看到從 這裡的源代碼。 OK,我認為這非常可笑。 因此,這個代碼片段絕對 不管這無關 特別是情節。 所以這個笑話是一種對鄉親 服用此授予。 但是這還不是全部,很難得到 這些技術細節的權利。 我會鼓勵你。 而實際上,50很可能糟蹋 很多的電視節目和電影,或者你 因為你會發現,它只是 不可能的,他們是怎麼 在屏幕上做。 但事實上,這是代碼 可能會看到它在iPhone應用程序 或Mac OS的應用程序。 它什麼都沒有 與安全。 因此,保持眼睛出更多的 如此有趣之類的東西。 但是今天,我們開始潛水真的 深入到語言一整套。 事實上,總體 這個部分的外賣 當然不是學習如何編程 在PHP中,沒有學習SQL本身,而不是 學習JavaScript本身,而是 教自己如何教 自己新的語言,因為,事實上, 我們現在開始採取 訓練車輪關閉,因此後 當然年底,你不要指望一個20 頁的規範來告訴你如何 實現一些程序。 你有足夠的成分在你的 頭腦,你的工具和足夠的工具 套件,開始建設 感興趣的問題的解決方案 一些學生組,對於一些 研究項目,或者什麼 你的興趣。 為此,記得,這是 圖片中我們把它最後一次。 這是兩台電腦,客戶端和 斷絕,彼此交談。 的協議,語言,所以 說話,那這兩台計算機發生 發言被稱為HTTP。 而這僅僅是所使用的協議 計算機傳輸信息 萬維網。 網頁,當然,這只是一個服務 頂部的運行 所謂的互聯網。 什麼提供其他服務 頂在互聯網上這些天? 其他一些協議或 - 那是什麼? 觀眾:FTP。 揚聲器1:FTP。 因此,文件傳輸協議是另一回事。 大多數人可能都沒有使用過它。 但你們中的大多數可能已經使用 之類的東西Gchat,或即時 消息更一般地, 當然電子郵件。 而這些,也都是上運行的服務 在互聯網的頂部,因為在 一天結束的時候,互聯網本身 真的只是得到數據從A點到 B點,它使用了大量的 顆粒本身,其中一個或兩個 的他們最一般稱為TCP / IP, 這就是說,一台計算機上 互聯網實際上可以做 不同的東西,電子郵件, 和網頁,等等。 谷歌做了很多這方面。 那麼,如何是那些獨特的服務 確定,我們說,在電腦上 實際上可能會做 多重的東西? 端口號。 而這些都只是人類任意 約定如80網絡,443是 加密網絡,25是電子郵件。 有一個串他人。 這些數字只是包含在 這些數據包的信息,這些 虛擬信封,實際上 包含了一個請求或響應。 所以,當你回來的響應 網頁,通常情況下,你不會看到任何 無論在任何數字 響應的狀態碼。 其實你不看 內部運作的 回來的數據包。 但200確實意味著確定。 這意味著一切都很好。 你可能已經看到了一堆這些。 這可能是最常見的 你見過在網絡上? 404。 它只是意味著找不到文件。 這意味著有人搞砸了。 你輸錯網址,或者是有人 給你一個別人做的 無效的URL,或者刪除了 文件和URL仍然是 被人們所使用。 因此,任何數量的原因可以解釋 為什麼文件沒有找到。 你會看到,在未來幾週內, 這些錯誤代碼,你會 趁他們中的一些。 最糟糕的是500。 如果你得到一個500錯誤代碼,您已經 寫的,認為那是那種 模擬賽格中的故障 Web編程的世界。 不,這是相當可怕的。 但它只是意味著,在某處, 你搞砸了。 所以那些期待。 但是,讓我們來看看,如果我們能 看到這些上下文中。 讓我去這裡的瀏覽器 並做到以下幾點。 因此,這是Chrome瀏覽器,這恰好 安裝在產品中。 但幾乎​​每一個瀏覽器,這些天有 一些相同的功能。 我要去Chrome的菜單, 去工具,而且我要去 開發工具。 你會看到,這個小面板 打開窗口的底部。 另一種快捷方式,說實話,我 自己平時使用右鍵單擊 或控制點擊在網絡上的任何地方 頁面,只是去檢查元素。 而且,不僅將打開 這有你。 它也將打開,具體而言, 元素部分 左手側。 所以,我們當然看到谷歌。 今天他們改變他們的標誌。 但是,如果我在這裡向下滾動,請注意 根據元素,你看 什麼叫做HTML超文本標記 語言,這是語言 ,這和所有的網頁, 真的,編寫的。 但實際上它是格式化 我們這麼多可讀性 比正常的。 事實上,如果我縮小,我反而 只需右鍵單擊或控制點擊 在頁面上點擊,然後去查看 頁面源代碼,這是字面意思是什麼 谷歌向下發送到我的瀏覽器。 於是某人或某些人寫的 Google.com使用這個源代碼。 其中大部分是沒有的HTML。 它實際上是一個語言,稱為 JavaScript中,這 我們還會回來上週三。 但是,Chrome和每一個瀏覽器 可以為我們做什麼,是那種見 過去所有的分心 瘋狂的語法,然後重新插入空白 對我們來說,甚至語法高亮, 或上色為我們的事情。 所以你會發現,這些所謂的 內置了瀏覽器的開發者工具 這樣會讓你的生活,所以更容易 因為你可以探索,通過此菜單 接口,正是底層 源代碼是為 在互聯網上的任何頁面。 事實上,這是一個最 有效的方法來學習如何做 新的東西,至少如果頁面 也不是那麼複雜壓倒, 開始戳它周圍的HTML,看 在其所謂的CSS,我們還會回來 一個位為好,得到 的那個程序員如何理解 某些特定的實施 功能的頁面。 但技術上更有趣的權利 現在還會是這樣。 如果我去“網絡”選項卡, 現在,讓我們清除此。 我要點擊小 在這裡交叉符號,然後 轉到另一個網站。 我只是要輸入 在Facebook.com。 沒有HTTPS,HTTP,沒有任何WWW。 讓我們真正看到這裡發生了什麼。 回車鍵。 現在可以看到一大堆東西 出現在這個底部面板, 除了網頁 出現在頂部。 我要滾動備份到 網絡“選項卡在這裡,我要 點擊第一行。 此工具會向我們揭示了什麼 是每一個HTTP請求 只是迅速回去 我的瀏覽器之間來回 Facebook的服務器。 所以每一個這些行 代表這樣的一個請求或 響應,一個或多個 那些虛擬的信封。 或者更隨意,這就像一個人 就像一個人,一個客戶在一個 餐廳,要求的東西 一遍,一遍,又一遍。 服務員不斷帶來 回一次。 所以,現在,如果我在變焦時,請注意 這將是諸如此類的事情, 歡迎你,並鼓勵 發揮你自己,因為我們 不會去通過一切 很詳細。 但是請注意,有一個 這裡的幾個子選項卡 - 接頭,預覽,響應, 餅乾,和時機。 我只是要看看報頭 現在,因為這些小 成分在裡面的信封 幫助數據和從地方。 因此,首先讓我點擊,查看 來源請求頭旁邊。 有要求我的瀏覽器, 在這種情況下,瀏覽器,發送內側 該虛擬信封。 你還記得上週我 手動鍵入它,而 假裝是一個瀏覽器。 然後,它提醒服務器,它是 尋找稱為主機 Facebook.com。 再有是一個有點神秘的 信息,我們將揮手 現在我們手中。 但是,如果我現在開始向下滾動 這個窗口中,讓我得到的 響應頭。 這是在虛擬 信封回來 Facebook.com。 如果我只是單擊“查看源文件” 看它的原始文本, 注意到一些事情。 一,Facebook還講同 協議,其1.1版本。 所以這是很好的。 但是,狀態代碼301, 永久地移動。 嗯,赫克Facebook的去了? 這是什麼試圖傳達給我們的嗎? 那麼,請注意這裡還有另一個 頭叫位置。 那麼,為什麼是Facebook告訴我說,他們 被永久移動到該網址 旁邊的位置嗎? 我忘了www。 所以這是我的選擇。 事實上,我們大多數人很少,大概, 鍵入www.whatever.com這些天。 但事實證明,一個系統管理員, 像Facebook, 以這樣一種方式配置自己的服務器 無論是Facebook.com的作品,或 www.Facebook.com的作品,或者,真的, 在他們面前任何這樣的前綴 域名。 所以,他們做了我們。 他們重定向,大概 對於一些技術, 一些市場營銷的原因。 他們只是想規範化 上www.Facebook.com。 但是,這不是相當。 如果我在這裡向下滾動,讓 看個究竟。 這是告訴我,我們 永久移至 http://www.Facebook.com。 因此,讓我們來看看第二個請求 我的瀏覽器發送。 不幸的是,它看起來像Facebook 再次提出,因為第二個 請求的網址,而不是通過選擇, 說,也感動 久治不愈。 並讓我在這裡向下滾動 響應頭。 Facebook的現在已經不存在了嗎? 所以HTTPS。 所以,現在Facebook已經開始, 特別是在光電流 在最近幾個月的事件,尤其是 在過去幾年也 迫使他們的所有用戶,在一個良好的 的方式,以使用HTTPS,這是更 安全,雖然並非完全安全。 所以現在我的網頁,我的瀏覽器 將要求這第三個URL。 而現在,終於,我們得到 否則看不見200確定。 那麼,什麼在世界上所有 這些行這裡。 我簡直輸入一件事,我 瀏覽器似乎已經要求像 20一些奇怪的事情。 那是什麼? 觀眾:腳本? 揚聲器1:腳本,所以其他文件 書面語言叫 JavaScript中,這一次,我們將 在週三去看了一下。 還有什麼呢? 樣式表。 所以東西的語言叫 CSS,我們會看到在一個位。 GIF動畫和JPEG,GIF和PNG格式,圖片, 和電影文件 - 無論一個網頁 已經是最有可能在 一個文件的形式。 還等什麼,我們看到在左邊 右手邊有所有文件 鉻下載, 遞歸的,如果你願意,為了 構成的頁面的全部。 所以,我們剛才也看到了與谷歌, 如果我點擊的元素 標籤,這肯定的是,HTML, 組成該頁面的語言。 但是,還有其他的事情串。 還有一個標誌。 有那些藍十歲上下的 那邊的圖標。 還有其他元素仍然 頁面本身可能會對 單獨的文件。 那麼,什麼是瀏覽器很好 它著眼於我們要去的語言 開始寫,或者你已經 在P組7,數字開始寫作 這些文件在哪裡住了, 去抓住他們。 我不能強調不夠,甚至 雖然這可能看起來有點 神秘的或壓倒乍一看, 學習如何編程 為Web應用程序,它的 無價的,以了解這些 小工具的工作。 這些都是有點像GDB工具一樣, 但簡單得多,最終使用 - 真的讓你的眼睛變成了什麼 我們一直理所當然 相當一段時間了。 所以我們現在做什麼用 這一信息? 好吧,讓我們實際來看看 基本概念的HTML。 我們會推遲,因為我們已經有了, 部分本週的問題 設置7說明書中,一些比較 這些語言的詳情。 但是,讓我們看到,如果我們不能畫一個 你應該明白什麼圖片 整體這裡。 所以HTML超文本標記語言, 是不是一種編程語言。 那是什麼意思呢? 因此,HTML看起來是這樣的。 一些你已經知道這一點。 你們中的一些人一直在做 這一段時間。 但是,讓我們看看我們是否可以不填 在一些空白。 所以在這裡發現一對夫婦的事情。 一,它只是文字。 因此,它的源代碼就像 C,或其他語言。 請注意,似乎有 這裡有一種模式。 有壓痕,但在技術上 壓痕是人性 約定。 Â瀏覽器不關心,如果有新的 行和製表符像我們看到有。 但注意到,有 這裡的對稱性。 有什麼我會打電話的頂部, 此文件中,打開的標籤,或者開始 標籤,稱為HTML。 然後,向下跌破,完美內襯 ,就像我們做的大括號, 我們看到開放式支架,前進 斜線,HTML,靠近支架。 所以這是對應關閉 標籤或結束標籤,那件事。 總之,一切都裡面的 所謂的開放標記和結束標記 譜寫我們會打電話給一個元素。 我們將看到,在短短的時刻,它的 真的很喜歡在樹上的一個節點。 因為,如果你認為現在 縮進,這裡的暗示, 樣的,喜歡,祖父母 節點稱為HTML。 多少個孩子,你可能會說,根據 這張照片上的HTML元素? 所以,可能有兩個。 一個是頭元素,顯然。 一個是人體元素。 為什麼兩個孩子呢? 好吧,我只是一種推斷,如果 我有一個開放的頭標記,然後 頭部標記,這是一個元素。 然後,如果有一個開放式的身體 標籤和近身標籤,就像 另一個元素。 因此,在這個意義上說,如果我種旋轉 在其一側的圖片,這是 就像有一個HTML標記,然後一個 頭標記,然後身體標記, 然後一些文本,你好世界,晃來晃去 關閉body標籤本身。 因此,我們可以得出一個圖片 可能會這個樣子。 的形狀是任意的。 但是請注意,我用的排序 橢圓形的頂部來表示 文件本身。 原來,有可能是其他的東西 我不是一個網頁,裡面的 這裡引出。 所以我們要去甚至掛HTML 所謂的文件節點的節點關閉。 然後我們有頭部和 身體和標題,通知, 進一步嵌套。 我沒有刻意把額外的行 標題標籤裡面休息。 它只是感覺就像是獲得 顯得有點冗長。 所以,我離開了它在一行, 開題,你好,靠近世界冠軍。 然後我們有一些文字 這裡晃來晃去。 因此,這幅畫會回來 當我們潛入成JavaScript。 和理解,當你 寫HTML這個樣子, 瀏覽器是在做什麼? 好吧,我們不必擔心 它是如何這樣做,或什麼 算法,但在一天結束時, 當瀏覽器收到類似HTML 認為,從Facebook或谷歌,它分析 它,可以這麼說,它會讀取它, 像用fread的東西,頂 底部,左到右,因為它 意識到,哦,開放標籤,然後關閉 標籤,開始對malloc,可以這麼說, 的樹中的節點。 當它遇到,因為我們已經暗示 這裡與壓痕, 子節點,它mallocs一個節點 並附著到樹。 因此,樹的結構,二叉樹 三元樹,和更大的樹, 我們在一兩個星期前,掃了一眼通知 ,同樣的原則是 回來給我們。 凡實施,鉻無論 團隊這樣做,大概有 實現某種類型的樹結構 引擎蓋下。 而這本身就是很可能在 語言如C或C + +或較低 層次的語言,我們會 現在使用的網頁之上。 所以,現在,也許,這將 更有意義。 一些傢伙,誰可能實際紋身 最終後悔了,有種。 OK,所有的權利,所以很多的網絡幽默。 這不是真的 在今天這麼好。 因此,我們將繼續前進。 好的。 因此,讓我們來看看現在 幾個例子。 最簡單的可能 事情可能是這樣的。 我要去進取,不斷開拓中 gedit的一個文件名為hello.php的。 在這裡,我要迅速 只是這樣做的printf,報價 引文結束的“hello world”。 因此,通知,我會盡我的反斜線Ñ, 我沒有打擾申報主體。 事實證明,在PHP中,和很多 語言,你不需要一個主 功能本身。 您可以開始寫 你的程序。 現在,當我保存這個文件,通知我 要做到以下幾點。 我不會使用,我不 要使用鐺因為PHP,不像 C,是不是編譯語言。 這就是被稱為一種解釋 語言,這意味著你運行它 通過另一個程序作為輸入 所謂的解釋。 並且該程序讀取,頂 底部,從左向右,做 無論你告訴它做的。 因此,在這種情況下,在這裡我有 行的printf說。 所以,當我運行這個源代碼, hello.php的,雖然一個程序, 情況下,方便,被稱為PHP, 該程序PHP要讀 這個文件,從上到下,從左到右, 它會做什麼,我 告訴它做 - 執行代碼,如果 它不承認的東西,只是 隨地吐痰出來。 所以,我要繼續前進, 運行PHP的hello.php。 回車鍵。 這並不完全是我的本意。 那麼,這是為什麼? 嗯,PHP是一門語言,這實際上是 設計是相當 交織在一起的網絡。 當這種語言製作網頁 PHP的,因為我們很快就會看到,我們將 想要做類似打印 出像這樣的線。 所以我要做到這一點。 打開支架,問號,PHP, 現在我只是要縮進只是為了保持 美好的東西。 現在我要做的一個問題 標記密切支架。 所以這是一個有點不對稱。 你不這樣做。 而且你不必做一個斜線,所以 PHP是一個有點不同。 但現在,如果我重新運行這個程序, PHP的hello.php,現在我 實際上得到的Hello World。 我們將看到為什麼這是有價值的。 一,它讓我來指定, 超明確,這是 代碼執行。 而這的確是這些 特殊的標籤,意味著這裡。 但是,這也意味著,如果我只是做 類似我的目標是在這裡, ,從字面上看,這將只是手段 被打印出來,而不需要 實際上調用printf或打印, 或任何類似的功能。 因此,我們會回來, 在短短的時刻。 首先,讓我們做到這一點。 裡面的家電,我們有一個 目錄稱為虛擬主機,虛擬 主機,斜線本地主機,削減公共。 所以這是一個有點冗長,但很長的故事 總之,設備的設計不 只支持這也是 旨在支持PHP。 但它也被設計成一個網頁 服務器,和數據庫服務器。 它的設計,真正的配置, 任何讓人聯想 商業網站託管公司 你可能支付每月5美元, $ 100一個月。 無論服務,它的配置 是非常類似於一個 真實世界的生產服務器。 這是什麼意思是,運行 該設備是Web服務器軟件。 它發生在被稱為Apache的。 這只是免費的,開源的, 而大受歡迎。 我們已經配置好Apache知道 如果我訪問某個網址, 瀏覽器或任何瀏覽器裡面的 家電,尋找到這個目錄 文件 用戶請求。 換句話說,讓我 繼續前進,做到這一點。 我的公開目錄裡面,我要去 繼續前進,建立一個文件 名為index.html。 這給了我這裡的標籤。 我要走得非常快 繼續前進,爆炸了 這個程序在這裡。 DOCTYPE HTML,現在,只 假設你必須鍵入。 這只是一個神秘的標籤,這不是 真正的HTML標記,它指定 這裡是一些HTML。 我要繼續前進,並重新 我們剛才也看到了。 下面是在頁面頭部。 頭部內側 - 這樣的標題。 所以我們會說你好,世界。 再往下是身體標記。 讓我收身標籤。 然後在這裡,我也會說, 只是為了清晰世界,你好。 因此,這是可以說,最簡單的 可能網頁 能使這是有效的。 這是語法上是有效的。 一切的打開關閉。 一切都很好 風格和縮進。 所以,讓我們來看看現在我怎麼 可以訪問此文件。 好了,讓我去這裡的鉻。 並讓我去 http://localhost/index.html。 那麼什麼是本地主機? 嗯,大部分在世界上任何一台計算機, 在Linux,Mac OS,Windows中,有一個綽號 所謂本地主機。 所以,如果你想談 自己的電腦 - 不過,奇怪的本能 - 你稱自己為本地主機。 不管你的實際計算機 ,無論是大衛的MacBook 空氣,或更多的東西 冗長的那樣。 所以這個網址顯然要使用 HTTP談論到本地主機, 在同一台計算機,家電, 要問,只取一 猜測,什麼樣的文件? index.html的。 因此,該設備已配置在 提前知道,如果我問 類似的index.html,尋找 在一個文件夾中,在一個被稱為虛擬主機 文件夾,名為本地的文件夾中 其中被稱為公眾。 這就是我的所有公共 文件將要。 所以我現在要敲回車。 該死的,還有就是禁 消息,否則403中,被稱為 它的數字代碼。 那麼,什麼是錯在這裡? 嗯,這是不夠的,只是把 我的文件夾裡面的文件。 我需要做以下。 讓我去,進到我的虛擬主機目錄 本地主機,進入公共場所,並讓 我LS劃線升。 還有一些其他的東西 在這裡為今天的目的。 但是請注意,在左側,旁邊 到index.html,我們看到的只是一個RW。 而在過去, RW站在了? 只要讀或寫。 事實上,它在左邊以rw說 意味著我擁有這個文件,可以 讀或寫它。 但我需要讓所有的人在 世界閱讀本,雖然沒有寫出來。 所以我要改變的模式 文件,屬性,給所有加r 每個人的讀取權限, 名為index.html的文件。 如果我現在重新輸入LS幾許升,通知 在這裡,多了一些 R的彈出。 而現在,規範進入 的更多細節。 對於P套7,這只是意味著每個人 現在可以讀取這個文件。 如果我回到我的瀏覽器 現在重裝,瞧。 世界,你好。 我什至可以打開我的Chrome工具 看看,就像谷歌和 Facebook上有我的HTML, 格式化了一下 不同的顏色。 如果我去“網絡”選項卡,並重新加載 的頁面,發現有得到 要求Chrome的發送 家電。 有200, 特定的文件。 因此,在短期,這是如何使所有這些 各個部分都撞在了一起。 它只是恰巧,在Web服務器 我們現在正在使用的並不遙遠, 像Facebook。 嚴格地講,它在同一台計算機上, 這是完全確定的。 那麼什麼我們可以做一個網頁呢? 好了,只是,讓微風拂過 一對夫婦的這些東西。 不過,讓我繼續前進,重新打開 gedit中的index.html。 讓我繼續前進,打招呼CS50, 保存這個文件,回去 瀏覽器,真正給人留下深刻印象的變化。 但是,如果我們想要真正 連結的東西呢? 所以,事實證明,我們可以有 在HTML中的鏈接,只是標籤 自己。 它發生在被稱為 錨標記。一個href的等於的 https://www.cs50.net,www.cs50.net 報價接近,靠近支架。 現在讓我們來看看 否則接下來。 我已經打開的標籤。 我現在需要給它 短語像CS50。 讓我關閉標籤。 並注意幾件事情。 即使有這個神秘的東西 在這裡,我不重複它,當你 關閉標籤。 你剛剛關閉的標籤 其名稱本身。 這是被稱為 屬性的值。 屬性只需要修改的行為 一些標籤的一個頁面內。 因此,這是指定的超級 花式一種說法參考, 此錨的URL,這 鏈接,應該是CS50.net。 而我們要顯示的文字 用戶不是該原始URL,而是 字CS50。 所以,如果我現在重裝,讓我放大以 清晰度,讓我重新加載頁面, 注意到我們有這個老學校 藍色帶下劃線的鏈接。 如果我將鼠標懸停在它,它是怎麼回事 很難看到,在左下方 右下角的畫面,請注意 它說,到的URL 我要去。 如果我點擊那裡,瞧, 現在我製作網頁。 而且我們自己 到主頁。 但是請注意,有什麼發展潛力 這為我們提供了。 安全是非常 在流行的這些日子。 如果我不是這樣說 這一點,我反而去,說,讓我們 看到,fakeCS50.net。 刷新此頁。 OK,所以發現它仍然看起來像我 CS50,除非一個精明眼 會注意到我要假CS50。 我猜此域不採取。 OK,所以無法使用。 所以這是很好的。 居然沒有一個人擁有該域名。 但是,讓我們多了幾分惡意 因為這是一種愚蠢的。 如果我們改變到PayPal。 如果我們調用這個一樣, www.paypal.badguy.com 無論您正在訪問的域名。 這可能存在。 所以,現在讓我重新加載頁面。 這裡,我們有一個釣魚的排序 攻擊,p-h-I-S-H-I-N-G,這是 傻字的攻擊 嘗試魚信息,或更好 ,錢,出人通過欺騙 他們到提供信息 否則他們可能不會做。 這看上去完全合法的,對不對? 我必須有一個鏈接在這裡Paypal.com的。 憑心而論,如果我絕育手術了一些 圖形,我們可以使它看起來 如PayPal。 對嗎? 因為我可以,順便說一句, 我可以去Paypal.com。 我們剛剛看到,我怎麼能 看到他們的HTML。 我可能只是把它複製並重新創建 美學貝寶,而不是去 這裡的老同學。 但是請注意,當然,這是一個有點 仍小,只有在底部 左上角,像一個10點 字體,你看你是什麼樣的網址 實際上是被領導。 所以如果你曾經得到的垃圾郵件說 先走了,你的帳戶 已大打折扣。 請點擊這個鏈接,讓我們知道, 您的密碼,所以我們可以確保你 你永遠不這樣做。 這些東西應該是不言而喻。 但它的奇妙有趣,並且 慘烈,每年這似乎 發生一些非零 許多人。 這就是美麗 網絡釣魚攻擊。 您可以發送100萬封電子郵件。 即使0.01%的人實際上 點擊Paypal和給你 密碼,這仍然是一個非零數字 剛剛給誰的人 你自己的錢。 接收和發送電子郵件,當然是相當 容易,從本質上講,自由 這些天。 所以長話短說,奇妙 美麗的想法,對吧? 幾年前,這是最早的 網頁,使網 資源之間的超鏈接。 但如此之快可能是 用於生病的目的。 電子郵件,我只想說,這些 天,裡面嵌入HTML。 好吧,讓我只是另一件事情。 我們將推遲主要部分 問題設置七,讓您 探索的詳情。 不過,讓我繼續前進, 在這裡做幾件事情。 我要去,並宣布 什麼叫做一個div,或 師的頁面。 讓我關閉該div標籤。 我會說 這裡頁的前頭。 然後下面這個,我要做的事情 像另一個分區,請關閉此 標籤,做頁面底部。 讓我們保存它。 所以,現在讓我們回到我的文件。 非常深刻印象。 但是,什麼樣的分工, 引擎蓋下,這實際上 一個很好的結構元素。 它不具有任何美學迄今 我們可以看到,以外,很顯然, 把東西放在新線。 但是請注意,順便說一句,只是擊中 輸入不削減它在HTML喜歡它 並在C你可能會認為這是 打算把一個漂亮的大差距 在頁面的頂部和底部。 但它忽略。 基本上是忽略空白 網頁以外的第一 空格字符,回車, 你打在鍵盤上。 如果你想更多的換行符, 有自己指定它。 所以我要做的幾件事情 這裡要說明發生了什麼事情。 我要添加一個屬性 存在並再次,你的學習方式 哪些屬性存在,存在什麼標籤, 真的,是網上的引用。 HTML語言的那種 - 這是 不是一種編程語言。 這是一種標記語言 - 後 良好的半個小時,也許一個小時, 它,你一定會把握,最 可能的是,基本的想法。 然後谷歌搜索距離是所有 你可能會對可能的標籤 感興趣 按照規範,那是相當的 歡迎這裡和鼓勵。 所以,現在讓我繼續前進, 做這樣的事情。 背景顏色。 而現在,我要做的事情 喜歡紅色,分號。 你可以做到這一點 幾種不同的方式。 我只是那種超級鍵入 明確越好。 但事實證明,這裡,這個值是 什麼叫做CSS層疊樣式 床單,這是另一種 語言完全。 CSS無關,與 打開標籤和關閉標籤。 它做與性能。 和屬性是簡單的鍵值 對,這只是意味著一些字, 冒號,然後其他一些字。 如果你有多個,或者只是 在這裡,你可以結束它與 分號,只是為了清晰。 但是,這也將在這裡工作。 現在這是什麼該怎麼辦? 你可能已經猜到了。 讓我繼續前進,然後刷新頁面。 而現在,它真的來了一起。 因此,我的網頁的頂部是紅色的。 但這裡的關鍵是,我提到 早些時候,該div給你 一個分工的頁面。 而這確實是它做什麼。 它實質上是將頁面分為 一個矩形,然後你可以 操縱。 而這個概念是怎麼樣的矩形 引人注目的是,如果你認為 幾乎所有的網站,有可能是 它的一些結構。 你們中的大多數可能已經很少見到 如果你登錄Facebook的主頁 在所有的時間。 但在Facebook的主頁上,有 某種格的頂部。 它可能不是那麼簡單 作為一個div,但有一個 矩形區域。 頁面的其餘部分是什麼樣的 一個巨大的div,就像一個多 更大的矩形區域。 所以長話短說,剛才有 這些小積木, 能力模型的東西如矩形, 無論是寬的還是窄的,你也可以 潛在列,讓你 頁面佈局,真的,但是你 想。 我們真的只是皮毛 這裡的表面。 事實上,如果我做一個另一個, 讓我繼續前進,做款式, 背景顏色,我們會做一些事情 喜歡藍色,特寫報價。 重裝。 所以現在它變​​得更加醜陋。 但現在我可以種炫耀 我P設置5個技能,對不對? 紅色。 這讓我想起RGB,紅 綠色藍三倍。 哦,原來在網絡編程, 或網頁設計,它是這樣的,我們已經 尚未任何編程 本身,實際上,你可以 有十六進制代碼。 因此,一些東西,一些 一些東西,一些東西。 所以,你可以有六個十六進制 字符,或者在某些情況下,三, 和那些問號 是一個十六進制數字, 0到f。 如果我想有很多的紅色, 沒有綠色,沒有藍色的,有什麼 相反為零時使用十六進制? 這是F。 所以我可以做FF,零,零, 保存這個,現在來這裡。 我沒有真正看到了變化。 所以報價引文結束的“紅色”顯然是 所有紅色的代名詞, 沒有綠色,沒有藍色。 同時,讓我們刻意改變 這樣一來的東西 隨機的,像ABCDF。 讓我們來看看這是什麼。 這是一個非常漂亮的藍色, 實際上,粉藍。 所有的權利,所以這些都是剛才 有些隨機組合 字符。 因此,我們不會陷入在了這裡。 但是,這講的精度 你就可以開始 適用 - 即使你很不堪重負 美學。 事實上,如果你真的想成為 留下深刻的印象,讓我繼續前進,改變 的字體大小,例如。 注意分號, 存在是必要的。 字體大小,我們可以只是可笑 這裡96點。 保存。 哇,這是一個大的字體大小。 所有的權利,所以它是很容易的。 而實際上,你基本上看到 我的第一個網頁 幾年前,當我第一次 學到這個東西。 這很容易做出非常 可怕的事情很快。 如果你熟悉回程 機archive.org 可以找到我所有的猙獰 本科生的網頁。 一個青蛙柯密特的前面。 我經歷了一個階段,我想 涼爽的背景 一個紅色的窗簾,當我得知你如何 再次可以平鋪圖像,並再次, 再次,以填補頁 一個俗氣的大紅色幕布。 然後,在此之上,是一個圖標 ,你不得不點擊進入我的家 因為這是頁 非常流行。 然後我的第一個程序,我曾經寫過 在PHP中,但在一種語言不是 稱為明珠,寫了一個留言簿, 是一個非常酷的事情,一個 很多人期待你 有一個主頁上。 當你得到的頁面,他們希望你 簽署,並說,你是誰, 為什麼你在那裡。 這是非常20世紀90年代風格的網頁設計。 但這些天,當然,我們已經 來了很多更遠。 你會看到,在第,甚至 在問題設置七, 充分利用圖書館,這些天, 它是如此容易使 漂亮的東西很快。 真的在這裡,我們只是刮傷 表面你可以做什麼 文體。 而事實上,已經讓我強調 這已經越來越醜,未 只是美觀,但在 我的代碼風格,或者 我的代碼設計。 我目前已comingled的HTML, 綠色開放的標籤, CSS屬性, 是完全合法的。 這是真的,其中的語言 有它的起源。 但在乾淨設計的興趣, 就像我們開始保的東西 從C文件到h文件,讓 實際上,我的那種練習 原則,並開始做 這個代替。 讓我把風格標籤, 也存在於HTML,讓我 指定以下。 讓我刪除。 背景顏色將是紅色的。 我要完全刪除。 我要擺脫的風格 屬性,我要去唯一 識別這個div用一個字 - 隨意,但合理報價 引文結束“頂”。和ID是一種特殊的 唯一定義的屬性 某些HTML元素 作為具有該ID。 如果我現在要程式化,在這裡 我的網頁,裡面的頭 風格標籤,請注意 我可以做的哈希頂部。 然後我可以把一對夫婦的捲髮 牙套,讓人想起了C,然後讓 我貼在那個程式化。 讓我在這裡繼續和預期 我要去的地方這一點。 讓我還可以創建一個 底部的div。 讓我抓住這個醜陋的代碼從下 把它放在這裡,在這裡,我會 多一點現在肛門和程式化 只是把自己的事情 線,用分號結束。 讓我擺脫的風格標籤。 但我還沒有完成。 我需要做的另一件事情。 是啊,ID等於報價引文結束,“自下而上” 或任何ID,我想 給該元素。 現在,在這裡讓我回去。 這是殘暴的。 我對付不了96點。 讓我們做24點。 或者你可以更精確。 實際上,你可以使用像素,像素,所以 你真的得到更細的顆粒 控制在你的網頁上。 順便說一句,這是不一定 最好的東西,如果用戶, 輔助功能的原因,要 可以增加體積。 因此,意識到有辦法做 不一定的事情, 硬編碼的一切。 所有權利,所以它比較大,24點, 比任何默認為。 但現在它的少許清潔劑。 讓我走這一步。 就像頭文件的想法, 請注意,我們一步步接近那個。 我有分解出來,但還是留下, 我的網頁,這些CSS規則內。 我為什麼要採取這一步 進一步,刪除,這完全 把它放在一個單獨的文件? 所以,我可以重複使用它,對不對? 這僅僅是一種直覺 現在。 在此之前,我聲稱這只是 越來越難看的風格 裡面的屬性 自己的div。 但只是認為通過。 當你的頁面變長,如果 你把在這裡,並在這裡, 這裡,在這裡,所有這些不同的 顏色和字體大小,以及其他類似 屬性,你的網頁是非常快 將變得不可收拾您。 如果有人來向你及 說,哦,你知道是什麼嗎? 我真的很想改變字體大小 另外兩個點, 可能去查找和替換 數量龐大的代碼行。 它更引人注目集中的 這裡所有這樣的美學。 但是,如果你想重用那些 美學的多個網頁, 更引人注目的, 例如,創建一個文件 調用這些內容。 讓我這樣做。 保存這個文件。 我說styles.css的,任意的, 但傳統。 我將把它在約翰·哈佛的家 目錄現在簡單。 在我的網頁,我能做些什麼是 擺脫完全的風格標籤, 和有點unintuitively,使用鏈接 標籤,它不會給你一個鏈接 超鏈接,點擊感,但 我說鏈接,HREF等於 styles.css的。 的關係,這些元素 網頁已經是作為 它的樣式表。 那麼我怎麼會知道呢? 一,你剛才讀手冊, 或者你谷歌身邊,和你 看看各種資源。 我的意思是,那才是真正的你挑 像這樣的技術,一致 這個想法自己新的教學 再次,語言,你會發現, 只有數量有限的東西 任何語言,一旦你得到 他們,你會發現,它得到 越來越快寫。 事實上,學習一種新的編程 語言是如此的速度遠遠超過了新的 口語,因為這些東西 更小的和更 精確的定義。 不過,我已經強調了一點 這裡的異常。 我為什麼要強調這 向前斜線這裡? 因為我不得不閉上標籤。 我應該關閉標籤。 你會發現無數的資源 不在線 一定關閉標籤。 抓實,它不是嚴格 必要的技術,並且有 現實的原因,瀏覽器只是 在web相當寬容失誤 頁,或好或壞, 但大多是雪上加霜。 因此,這僅僅是一個更清潔的方式 說這樣愚蠢的東西, 其中,如果你要打開的鏈接標籤 但關閉它,真的沒有概念 內容的鏈接標籤。 它只是意味著加載此 文件,並把它放在這裡。 C.您可以像尖銳包括 一次全部打開和關閉標籤 標籤相同的範圍內。 和其他這樣的例子。 這是沒有辦法做到這一點,但 br標籤,換行,如果我 真正想要對我是什麼 試圖按下回車鍵之前,如果 我明確地說線斷裂,線斷裂, 斷行,斷行, 然後重新加載這個頁面,你會發現 頁面的底部的是, 事實上,很多越走越遠 頁的底部。 但即使這樣,可以做得更多 乾淨,CSS和利潤, 與其它類似的審美 技術。 因此,就目前而言,外賣店。 在HTML中,我們有這些 東西叫做標籤。 在CSS中,我們有這些事 稱為屬性。 我們,可以comingle這兩種語言, 通過使用樣式屬性, 或者樣式的標籤,或最好的還沒有,保 它完全,因為我們做的 問題7。 問題,那麼,約 這裡的概念基本? 觀眾:我有一個問題。 揚聲器1:哦,對不起。 觀眾:為什麼沒有彩色 - 揚聲器1:哦,在“其他”選項卡? 在這裡? 觀眾:不,這是這樣的 - 揚聲器1:哦,那是因為 我被馬虎。 我把文件放錯了地方。 所以,如果我把它放在這裡,和我 chmod將其所有+ R styles.css的, 現在刷新頁面,現在我們 得到程式化回。 因為字體大小 不同,我們沒有看到相當多 白色的空間。 我們不是看到什麼 而不是默認。 這個問題問得好。 是嗎? 觀眾:為什麼是鏈接 標籤裡面的頭? 揚聲器1:為什麼鏈接 標籤裡面的頭 - 簡短的答案,只是因為。 那是什麼決定。 這就是去當鏈接標籤 您有什麼所謂的一個 外部的樣式表。 其他問題嗎? 好吧,讓我們做到這一點。 我們有這麼多的樂趣,今天擺在我們面前。 這只是刮傷 CSS的表面。 讓我們做到這一點。 讓我們這裡休息5分鐘 因為按我的電子郵件,讓我們掛在 那裡,直到今天2:30 ISH。 但如果你有 離開,這很好。 但是,我們將銳意進取 休息5分鐘。 我們將學習一點東西 關於PHP,MySQL和。 好吧,讓我們來試試,現在,將比分扳成一 幾個在一起,使這些想法, 說,我們自己的搜索引擎。 我注意到,相當好奇, 以下。 當你在Google.com,你 通常在這裡像這樣的一個URL 沒有後點COM。 但是像一些愚蠢的事,如果我搜索 貓,並按下回車,我們會得到 - 笨,但你知道的。 OK,所以注意到,在頁面頂部, 現在,URL,當然改變。 這是沒有什麼 我們任何新的。 您點擊鏈接和東西 發生在網絡上。 但是,什麼是有趣的 是以下內容。 有一大堆雜亂的,但讓 我扔掉的東西,我不 不太明白或不 看看有關。 讓我擺脫這種。 讓我擺脫這種。 讓我擺脫 所有這一切。 現在發現,貓是在URL中, 其次具有Q,那麼等於 簽署在它的前面。 因此,原來這是怎樣的 它的工作方式,當談到 輸入和輸出。 我們早就談過 黑盒子,對不對? 因此,如果這是實現的功能 這裡是一個黑盒子,它需要輸入 並產生輸出,以及,意味著 您提供的輸入到 網站方式,很多時候,它的網址。 您只需打上問號 然後一鍵等於價值。 然後也許一個符號,然後 另一個關鍵等於價值,那麼也許 另一個符號,關鍵等於價值。 這是你如何通過鍵和 值,對輸入。 所以,如果我現在敲回車,什麼是 有趣的谷歌,是所有 我刪除,雜波不會出現 是絕對必要的。 我需要發送到谷歌的問題 標記Q等於貓得到 備份一些貓。 那麼,寓意,然後, 如果我拉gedit中,我已經開始 在這裡我自己的搜索引擎 在一個名為seach0.html。 讓我去和刪除 多行 不應該看到的。 現在,讓我進入我自己的瀏覽器, 所以沒有給谷歌,去 http://localhost的。 ,這就是將要得到的方式。 因此,我們將不得不說再見 現在,移動在這裡, 哦,現在我們將不得不 該文件說再見。 每當你有一個文件名為 在index.html或編輯 目錄,如果Web服務器 以這種方式配置,你會 ,默認情況下,看到的內容 文件而不是上市 目錄,因為我想在這裡。 在這個問題上的規範。 你沒有看到這一點。 所以這是我其實是想什麼。 不過片刻前,有一個 在此文件夾中的文件名為 index.html和index.php文件。 所以Web服務器 我的那些文件。 相反,我想這個目錄 在這裡列出。 所以我要進入 CSS和去搜索0。 我要求,這是將是 開始我自己的競爭 搜索引擎。 而要做到這一點,我要去 在這裡,到CSS,並打開了 gedit中,搜索。 但不幸的是,有 沒有太多打算就在這裡。 我所做的只是使用標題標籤, 會發生被稱為H1, 基本上是指大 勇敢的,就是這樣。 但以何種方式,我們可以 通過這些提供投入 東西叫做形式。 因此,讓我繼續前進,打開和關閉, 先發製人,有形式標記。 讓我繼續做 這樣的事情。 文本輸入,鍵入等於。 然後讓內關閉標籤 括號本身。 我並不需要啟動一個文本字段 並停止文本字段。 它只是將是有還是沒有。 然後,讓我們做如下 輸入類型等於提交。 保存。 現在讓我們只是做了 快速完整性檢查。 讓我們重新加載。 OK,所以它不壞。 這不是谷歌的風格, 但它是相當接近的。 有一個文本字段。 我可以鍵入一些東西,敲回車, 但什麼也沒有發生。 那是因為我還沒有指定 這種形式的行動,可以這麼說。 所以,如果我回去的表單元素, 事實證明,我知道這是唯一的 從閱讀的文檔, 標籤的形式以一個屬性 調用的動作是URL 在網站中,您 要發送的形式。 我真的不認為我們有時間 為實現整個後端 今天的搜索引擎。 所以,我們只是會說,哎, 去google.com /搜索。 現在讓我關閉我的報價。 讓我進一步明確 使用的方法是怎麼回事 被稱為。 長話短說,有兩種方式, 至少,你可以提交信息 從瀏覽器到服務器。 一個,而且,對於今天的目的, 這僅僅意味著在URL中。 你清楚地看到問號,則 等號,和&符號, 我們在前面看到的。 或者有另一種稱為後。 現在,知道後經常被用來 當你要上傳的文件,如 圖像等等,或當你想 提交信用卡信息,或 密碼,任何事情,它不 真正意義,概念,或 安全明智的,最終的URL 您的瀏覽器,窺探父母, 或室友,或任何訪問 到您的計算機可能會看到。 所以,讓我們保存在這裡。 我需要做的另一件事情。 它不足夠 說給我一個文本字段。 我已經給該字段的 珍惜一個名稱。 因此,讓我借用谷歌的選擇 名,q和指定該第二 屬性我真的不關心 “提交”按鈕的名稱。 我只在乎提交 什麼類型的用戶英寸 現在這是一種醜陋的。 它只是說提交。 事實證明,我知道這從 文檔,我其實可以說 值等於報價引文結束“CS50 SEACH“密切的報價。 然後,讓我們再次重裝。 所以我一直打命令-R,或 控制-R我的鍵盤上重新加載。 現在我們有一個更有趣 搜索引擎。 它不完全的樣子 谷歌,目前還。 所以,讓我們繼續在這裡 做一個小小的斷行。 好了,現在我們有谷歌。 實際上,我們幾乎看谷歌。 所以,現在什麼事情發生呢? 我要輸入的東西 像貓。 和瀏覽器解析 這種形式,我定義。 它會發送 該網址的用戶。 所以這個時候,一些奇怪的原因, 我得到了更多有關股票信息 比實際的貓。 但是,這很好,因為我們仍然注意到 在這裡結束了,Q等於貓。 所以長話短說,它似乎相當 微不足道的來自用戶的輸入。 而且是公平的,有串 其他類型的表單字段。 有複選框,有點相互 獨家單選按鈕, 下拉菜單等。 但所有這些都是相對 輕鬆實現 這個文本字段。 最終,我們只需要做出 肯定有人聽其他 為了得到該行結束 信息處理,不知何故, 讓我們回到我們的貓。 讓我們來看看一個稍微 更多參與的例子。 讓我去到我的虛擬主機的目錄, 到本地主機,公共場所,並在那裡我 把今天的源代碼。 所有這一切都將在球場上的 網站為你鼓搗。 我若去成froshims,讓我開 現在了這個文件,froshim0.php。 這是一個有點冗長,所以 我們不會寫這篇文章從頭開始。 但是,僅僅注意到現在幾點幾分 熟悉的特點。 一,形式標記,不同的動作。 這不是一個完整的URL。 現在,它顯然文件名為 的register0.php,因為在某一時刻, 我要教自己一點點 一些關於PHP,編程 語言,因為PHP可以用來 實施什麼谷歌實施 搜索引擎的後端。 谷歌,在現實中,可能使用 一些Python,一些C + +, 其他語言的串。 不過,我們當然可以實現搜索 使用PHP,如果我們想要的結果。 但是現在,我們將保持它的簡單。 這實際上是讓人想起一個 我第一網站 年前作出。 早在我的日子,你註冊 作為一個新生的校內體育活動 填寫一張紙,走 穿過院子,並將其放置在 一個寶潔的郵箱 威格爾斯沃,那就是你如何 登記手續。 所以我的項目後不久,CS50, 是把,這使得完美 某種意義上說,在網絡上,這是不 作為時尚,因為它是現在。 但是,所有我們必須做的是創造, 從本質上講,一個HTML表單。 而這種形式看起來 大致是這樣的。 我有一個輸入 大一的名字。 我有另外的複選框是否 他們想成為隊長, 他們的性別, 他們的宿舍是什麼。 然後,我硬編碼的事情 像Apley法院,卡納迪, 灰色,等等。 如此反复,新的標籤。 還沒有看到這些之前,新 屬性,但還算訪問。 一旦你看到一個例子,你可以 借這個想法,使下降 下拉菜單對於大多數什麼。 但最關鍵的是,每個 這些東西的名字。 在這種形式的底部,有 一個提交按鈕的標籤, 或價值,是寄存器。 所以,讓我們去到這個網頁。 讓我回去 目錄列表。 讓我進入froshims, 去froshim0.php。 因此,它是可怕的,是公平的。 所以,我可以肯定樣式 一些CSS,我可以做一些 圖形,也許添加一些顏色, 使這個漂亮。 但是,在功能,我認為這 實際上是相當完整。 不幸的是,當我填寫了這一點, 船長大衛,男,我們會選擇, 讓我們說馬修斯,註冊, 所發生的一切是這樣的。 但是請注意,一對夫婦的外賣店。 一,什麼文件返回那些 結果,顯然? 因此,它的確是register0.php。 因此,事實上,我們看到的行動 剛才值寄存器,這 證實我們確實結束 在該特定文件的最多。 目前這還只是醜陋的文字。 但是請注意,這個文本是 來自本地主機, 這是從該設備。 現在想想器具 可能在一個Web服務器 科學中心。 這可能是對實際的網絡。 因此,它的公開訪問。 所以很明顯,有一些方式傳遞 表單字段輸入到服務器 因此,它可以做與他們的東西。 不幸的是,寄存器 是非常愚蠢的。 它是打印出一個數組 看起來像這樣。 它不是一個數組 我們知道它的意義。 原來,PHP,和大量的 語言,不僅數值 索引數組的第一個索引 零,那麼一個,兩個,然後點 點,點,N減1。 這就是所謂的一個 關聯數組。 關聯數組是其中之一 你可以存儲鍵值對 關鍵是不一定的數字。 事實上,它可以是一個字符串,一個字。 所以這可以實現, 引擎蓋下,事實證明, 使用一個數據結構被稱為? 思想戲劇性的東西 即將發生 - 哈希表。 所以一個哈希表,回憶,那些你 是誰做的P組6,甚至召回 它,至少,即使你做了一個嘗試, 哈希表中,在我們的使用情況,使用 只是存儲的話。 不過說真的,你是存儲 鍵和值。 如果您實現了一個哈希表為P 設置6詞典,鑰匙 詞本身,其值 有效真或假。 是的,在這裡,或含蓄, 不,不是在這裡。 好吧,我們可以概括地說,想法。 我們可以使用一個非常類似的數據 結構來存儲而不是字符串 獨自一人在你的哈希表,但 假設在每一個你的哈希 表的節點。 你甚至可以做到這一點在一個try 而不是僅僅有一個bool。 你可以有別的東西。 關鍵是如果沒有麥克斯韋, 實例,但報價引文結束“的名字,”或 引用引文結束“的隊長。”裡面 C數據結構,你把一個 價值,而不僅僅是一個布爾值,但值 如報價引文結束“大衛”,或 “M”或“馬修斯”和等等。 因此,我們使用那些相同的數據結構 在其他語言中顯然存在。 我認為它們實際上是多少, 簡單得多,在這裡訪問。 讓我們看一看其實 現在在一些這樣的語法。 我要進入一個PHP目錄。 我要去開拓一個更好的 從之前版本的Hello-0。 請注意,我所做的就是 補充一些意見。 因此,我們可以擺脫那分心。 這個程序的確會打印 你好,因為我之間指定 標籤,我想執行該代碼。 現在,我們將看到在某一時刻 為什麼,這是非常有用的。 但是讓我們在這裡打開一個其他的例子。 讓我去進取,不斷開拓說, gedit的條件之一。 這是現在回來的路上時間。 但半個月前,我想,在每週一, 本週二,我們有一個例子叫做 conditions1.c。 我決定重新實現在PHP中, 只是一種強調 PHP語法,幾乎是相同的 C.這是不是一個巨大的飛躍 從上週到這一點。 請注意,在上面這個程序, 開始時,和以前一樣,具有一定的 意見,我將擺脫 作為分心。 請注意,我在PHP 在這個文件中的模式。 所以這段代碼中,我們將看到的, 將得到執行。 請注意,有readline的, 這大概是 PHP的getString模擬。 請注意,這是一個有點不同。 實際上,你指定提示 函數調用讀線,而這 用戶看到。 所以,你不必手動printf的。 但是,這並不是什麼大不了的。 我要儲存,裡面的$ n, 這個返回值,所以無論 用戶類型是自己的詮釋。 這裡是另一種好奇心。 事實證明,在PHP中,任何變量 只是前綴 一個美元符號。 這是一個有點惱人。 但是請注意,我沒有做什麼在PHP。 從左邊缺少了什麼 一邊的等號? 沒有提到的類型。 因此,這是為了更好地從C不同 或者更糟的是,PHP是一種鬆散 類型語言。 它確實有數字。 它有字符串。 它有布爾值。 它有幾個 其他數據類型。 但是,你的程序員,通常 不必關心他們。 這樣做的好處,是它使得 這一點更容易編程。 你可以少想一點。 不足之處是它也打開你到 潛在的錯誤,如果你不小心 對待一個數字作為一個字符串,一個字符串 數,有可能,但即使 然後,PHP和很多語言, 是相當寬容的。 他們將使用什麼叫做 隱式轉換。 如果您嘗試在上下文中使用n 的一個數字的情況下,它會 這裡將是一個轉換 字符串,因為如果用戶鍵入 的東西,你得到的結果, readline的,或者得到的字符串, 要返回一個字符串。 但是請注意,幾行後,我 檢查,如果n是大於零的。 所以,PHP會隱式轉換 “串”123,或無論用戶 ,進入一個int類型。 因此,在短期,東西只是工作 很多更直觀。 所以我們現在開始放鬆的幾個 在過去的事情,我們已經做了。 這個東西有很多是 同樣的,雖然。 還有等於等於。 作為一個備用PHP也等於等於 等於,但更多的,或許,在 未來。 這是一個。 錯字,但兩個等號意味著同樣的 之前,進行比較的東西。 printf的意味著同樣的事情之前。 反斜杠n表示相同 和以前一樣的東西。 所以我怎麼運行這個程序嗎? 好了,和以前一樣,如果我做PHP, conditions1.php,然後鍵入 這樣的數字123。 這是一個正數。 如果我鍵入0,我去接0。 如果我輸入負123,我得到 備份一個負數,這是唯一 也就是說,語法,PHP 是超級,超級相似。 那麼,為什麼是現在這個有用 在web環境? 好吧,讓我們回到本froshims 例如,看起來, 再次,像這裡。 讓拉起網頁 再次,這個樣子。 我們可以做什麼用 數據提交? 好吧,讓我打開了一個新的 版本的此。 你會看到這個問題 套規範引導您 通過幾個。 而不是從零開始, 讓我們看看froshims3, 這確實有點多。 首先要注意,其實,讓我們打開 了0,所以你看 寄存器0是什麼。 注意寄存器0做什麼。 一,我在上面發表意見。 刪除那些只集中在此。 大多數的內容register0.php ,很明顯,什麼樣的語言? 只是原料PHP。 所以通知,這個文件不啟動 ,此刻,打開支架, 問號,PHP。 PHP讓你交融 PHP與HTML標記代碼。 但我已經做了,在這裡裡面 的頁面在這裡。 再次,現在,你只知道這 看著手冊。的print_r 事實證明,是print_recursive。 _recursive而這僅僅是一個方便的 效用函數,只是打印出來, 遞歸的,無論你把它。 如果你的手是一個數組, 它會打印一個數組。 如果你把它的數字, 它會打印一個數字。 把錢交出來一個字符串,它會 打印一個字符串。 如果你把它一個哈希表, 會打印出一個哈希表。 您不必編寫所有 的自己該代碼。 現在可以看到我進入 PHP模式在這裡。 在這裡,我退出PHP模式。 所以當Web服務器讀取這個文件 從上到下,從左到右,因為 它結束在一個名為。php的文件名, 裡面沒有任何PHP標籤 只是要吐 出來,像原始的HTML。 沒有什麼大不了的。 但是,一旦Web服務器注意事項 這一點,它會說,我不應該 吐了出來,從字面上看,後的print_r。 我應該執行以下 一行代碼。 那麼最後一個問題,那麼,這個文件 ,好了,你到底是這樣嗎? 採取一種猜測。 $ _POST是什麼,可能嗎? 觀眾:[聽不清] 揚聲器1:是啊,發布的數據。 回想一下,我們的向後滾動 時間只是一瞬間。 froshim0再次,這個樣子。 這是一個超級多數只是HTML。 同樣,一些你沒有標籤 見過的,或與 你已經很熟悉。 但有趣的事情是這樣的。 這一行是真正的鏈接 它來我們的register0.php文件。 我通過POST方法提交。 這意味著,參數 用戶類型 將要結束的地方。 他們不會 顯示在URL中。 他們仍然要發送的 客戶端,從瀏覽器中,向 服務器,但只是通過其他 機制,我們將放棄我們手中 在今天,但它不是在URL中。 但是請注意,現在的關係 後,按照慣例, 小寫這裡。 但如果我打開register0.php 我顯然印刷本。 因此,這是一種怪異 命名約定。 但是在PHP不錯的是,當 使用PHP在Web環境中,而不是在一個 剛才像我一樣的命令行, 當你真正使用它在Web 頁面,因為我們是在一個虛擬主機的目錄, PHP會自動填補這一 的事情,這是一個關聯數組, 可以這麼說,一個哈希表, 所有用戶輸入。 總之,$ _POST全部大寫是一個 全局變量,PHP只是 奇蹟般地創造你的時候 使用PHP在Web上下文。 它把它裡面的所有的 的表單中的參數名稱 提交本文件及其所有 用戶輸入的值 因此,它的手給你什麼用戶 這種形式輸入。 之前,我們得到了非常愚蠢的輸出 只看到這一點,因為我所做的 遞歸打印這個數組。 最關鍵的是名稱,值是大衛。 最關鍵的是船長。 該值上。 和雙箭頭和角度 有支架,這僅僅是任意的。 這是不是代碼。 這僅僅是PHP的方式向您展示 一些關鍵的價值是什麼。 但現在讓我建議,在 froshIMs3,它幾乎相同 除了提交該文件。 再次,我們要種只是 看了一眼,正好看到一些 語法,但注意什麼 這個文件。 以此來猜測只是基於線 代碼,這可能看起來象 希臘,在一定程度上 顯然這樣做。 此主題相關文件 郵件,電子郵件。 那麼,什麼是這個程序在做什麼? 在這個版本中,如果我是真正 填寫此表 - 讓我去 froshIMs3,不是froshIMs0 - 形式看起來是一樣的。 隊長大衛,男,宿舍,馬修斯。 但是,如果我提出這個,這個文件是 要去register3.php。 我要求看在它的 源代碼,這將 以某種方式涉及到電子郵件。 讓我繼續前進,打開此 在一個更大的窗口,因此我們 可以看到它更乾淨。 我們在虛擬主機,本地主機, 公眾froshims。 我要開闢一個不同 程序,所以我們 一次可以看到更多的。 所以,現在在這裡,發現了一些事情。 在該文件的頂部是開放的 括號,問號,PHP。 然後有一堆意見, 我們可以忽略, 現在無趣的。 現在有這個。 PHP有很多 代碼調用需要。 它非常類似於在精神上C的 包括哈希包括 基本上抓住了一些內容 其他文件,只是他們在這裡,撲通一聲 這樣你就可以使用它們。 在這種情況下,該裝置安裝有 預裝,一個圖書館,自由和 稱為PHP的開源庫 郵件程序,任何人都可以 從互聯網上下載。 我們只是做給你。 這意味著我現在有電子郵件 在我手上的功能。 現在,請注意幾件事。 我要驗證 表單的提交。 打開了PHP,一個驚嘆號 不是運營商,就像點 但是PHP也有一個功能 被稱為空。 空,則返回true值 你的東西拿去 括號內是空的,像 用戶沒有輸入任何內容英寸 因此,這是說,並注意 語法,非常類​​似於C,如果 名稱鍵,這樣的name字段的形式, 這是提交通過後, 用戶來說是不空的,並且它們的 性別是不是空的形式 很好,他們的宿舍是不是空的 - 但是請注意,我不關心隊長, 那麼我們該怎麼辦? 我要執行 這行代碼。 你能想到這種 像malloc的,但它是一個小 票友比。 但現在,這給了我一個特別的 結構類型的PHP郵件。 但是,忽視今天的新的關鍵字。 現在,我要調用一個函數叫做 IsSMTP,它說,使用SMTP。 這是25端口,就像視頻 上週,被扔的東西 到防火牆的電子郵件。 是SMTP端口25。 SMTP是指使用的郵件服務器。 哪一個,我們可以使用哈佛 SMTP.fas.harvard.edu。 我們可以設置從地址 是哈佛大學約翰的。 如果我繼續向下滾動,我可以設置 收件人地址,只是 任意約翰 哈佛。 於是,他將要寄給自己。 現在,我可以設置主題 要註冊。 我可以定身 電子郵件如下。 這條線看上去多了幾分神秘, 但是這只是因為有很多 在它的信息。 其中,有一個點運算符。 必須有人已經知道了什麼 點運算。 它的串聯。 所以,如果你想利用PHP中的字符串, 追加或它前面加, 另一個字符串在PHP中,感謝上帝,你 不必,使用strcopy和malloc, 所有這一切了。 如果你想連接兩個字符串, 誰在乎內存。 讓PHP的身影,為你。 PHP會做什麼用點操作符 這裡只是做一個大句子出來 這條線,這條線, 這條線,這條線。 現在通知,它會 插入值。 所以電子郵件,約翰·哈佛是怎麼回事 接收從字面上去說 名稱,結腸癌的東西,而不是,那麼我們 關閉字符串串聯 無論用戶輸入 ,然後在新的一行。 然後,在約翰·哈佛的下一行 電子郵件,它會說 船長,開或沒有。 這是怎麼回事說性別, 男性或女性。 宿舍將是馬修斯 在我的情況下。 然後注意到熟悉的分號 結束。 然後,這裡通知,有點 神秘,但同樣,繼 圖案將變得更加熟悉 P後設置7,如果發送郵件 返回false,然後繼續前進,死了。 因此,PHP有一個功能稱為模, 其中,從字面上看,只是殺死 網站僅僅打印出任何 你告訴它 - 它正在死去 也就是說,可以這麼說。 而這,的情況下,它會打印 出什麼錯誤信息 不管發生什麼事要出問題。 所以長話短說,在這裡,我們有什麼 是一個例子,其中,當用戶 提交形式,froshim0, froshims3.php,它去 register3.php。 但register3.php然後繼續 執行所有這些線路。 所以這是一個很少人採取跳投。 一,它顯然是相當容易的, 編程,發送電子郵件, 這是很好的。 當用戶註冊,在為您的網站 這種情況下,在註冊時為您的 運動,你可以通過電子郵件大一 普羅克特或約翰 哈佛,在這種情況下。 但是,這也意味著你可以做什麼? 任何人到任何發送電子郵件。 這是非常真實的。 這是不容易做,如果 你已經習慣了使用Gmail。 但是,如果你曾經使用Eudora或 Outlook中,你幾乎可以告訴 你的郵件服務器 任何你想要的。 而這正是我需要把 那頂帽子,並說,不這樣做。 但是,這是多麼容易證明 它是執行網絡釣魚攻擊, 發送匿名電子郵件, 垃圾郵件,更普遍。 它真的可以歸結為 事實上,所有你需要的是一些 編程方式訪問。 順便說一句,我最親密的邂逅 廣告板,我自己的大一, 當我發現這個很酷 欺騙,哇,你可以 任何人發送電子郵件。 因此,我們有一些愚蠢的 的說法,從字面上看,馬修斯, 之間我的普羅克特組。 我什至不記得 問題是什麼。 但我想嘗試把一個 這個愚蠢的辯論結束。 所以,我決定,我將只發送一封電子郵件 我的寶潔組,故作 其他的傢伙,我的意見 不同意,他默許 無論在我看來 這個特殊的辯論。 所以我使用偽造電子郵件 類似的技術精神。 但它實際上是更容易 的時間。 命中。 他很不高興,也不會 廣告板。 我感到非常內迅速引起 因為,你知道,我簽署秒 我的電子郵件以某種方式。 雖然我做手工,在大 部分,15年後,因為我是 由創傷。 我沒有簽名 現在我的電子郵件。 但在1995年,我剛做了一個信號, 在我的電子郵件簽名。 因此就出現了這樣一個字條說,親愛的 普羅克特組,我默許我看來, 並同意大衛簽署 如此,新生產線,新生產線,DJM。 所以,不要做,或在一般情況下,採取 這種技術的優點。 但是,當一個網站,喜歡 您的最後一個項目,當進行 網站創業的東西, 這是怎麼回事,務實的態度,你可以 利用在互聯網上的其他服務 如郵件,然後實際 送東西使用代碼。 那麼我們如何才能改善? 嗯,首先讓我們來快速瀏覽 一些事情,你會看到, 然後看一看 一對夫婦的例子。 所以,放心,因為 我們正在通過PHP飛行。 我知道,在某些時候,你就會有 如果你真正開始寫這 已經沒有。 ,一個實現,主要是一種 ,用PHP窗外。 如果你想編寫代碼獲取 執行時,你剛開始寫 一個名為。PHP只要 你有開放的支架 問號PHP標籤。 但是請注意,這些都是 PHP中的條件。 請注意,這是確切的同一張幻燈片 我們在第一個星期,當我們有 C.條件的條件 PHP是結構和 語法相同。 唯一的區別是,如果你已經有了 涉及的變量,你有那些 美元的跡象。 同時,布爾表達式 看起來就像這為 或或和的在一起。 開關長得一模一樣。 在PHP中什麼是好的,而在C語言中, 開關必須是個案 整數或字符等,在PHP中的原語 你的case語句實際上可以 一個整體的字符串上,這是 其實挺有意思。 為您節省一些時間。 不能這樣做,在C 下面是一個PHP for循環。 這是相同的。 可能有一些美元的跡象 為變量。 您不必提 東西是一個int。 你剛剛宣布它與一個美元符號 和的變量的名稱。 但是,一個for循環是相同的。 while循環是一樣的。 一個do while循環是一樣的。 這是一個有點不同。 因此,PHP中,一個數組,你可以 靜態聲明一個數組,在C, 但是你用方括號內。 在C語言中,你可以使用大括號, 如果你知道這一點。 但其實這是很常見的PHP 聲明一個數組,在這種情況下, 數字,並調用 變量的數字。 變量本身這個樣子。 這裡是一個字符串,報價引文結束“你好 世界,“你可以有一個反斜杠Ń。 在這種情況下,我根本就沒有。 現在,這是一個有趣的結構。 C沒有。 但是,這是超級有用。 你會看到在P組7 規範 - 每個構造。 如果你想重申所有 元素的數組,你不必 對付我,而且$ n $, + +,和所有。 你可以從字面上說,在PHP中,這 - 號,所以每個號碼 我假定數字 是一個數字數組。 而當我說每個號碼 作為數量,這將 自動執行我的循環, 更新,在每次迭代時,該值 裡面的美元符號的數 - 一遍,又一遍,並再次行走 對我來說,數組。 因此,它只是為我們節省了代碼。 沒有分號,沒有+ +的,沒有我的, 沒有n的,這是剛剛好。 但是PHP也有這個。 這是超級強大。 你會使用這個,手 在P 7。 關聯數組也宣布 方括號。 但是請注意,現在的語法。 這讓人想起我們看到了什麼 剛才的print_r。 多少個鍵,作為一個小的完整性檢查, 似乎有這個數組。 因此,它有兩個。 我稱這是一個陣列。 但是,如果它的幫助,你可以認為 此如哈希表中,或者作為 關聯數組。 但它僅僅是一個不同的 類型的數組。 再次,不同的語言 有這些。 我們會看到類似的東西 在JavaScript中也是如此。 有兩個鍵。 其一是報價引文結束,“符號”,一個是 引用引文結束“的價格。”和那些鍵 每個人都有一個值。 在這種情況下,符號的值是FB, Facebook和價格的值是49,26, 這是Facebook的股票 今天上午的價格。 那麼,什麼是有用之 關聯數組。 我能有一個數字 只是索引數組 簡單的方括號。 我能有美元符號 報價等於這一點。 讓我真正做到這一點。 假設我不是剛剛宣布 像這個數組。 這是完全有效的, 語法。 它不丟失任何信息, 本身。 我仍然看到這個符號是FB, 而價格是49,26。 那麼,為什麼聯想 陣列引人注目嗎? 觀眾:你不必記得 你把東西。 揚聲器1:沒錯,你沒有 要記住,你放東西的地方。 您不必任意記得 ,股票代碼支架為零, 股票價格在支架一, 這是特別危險的,如果你 改變的事情,最終。 它要好得多關聯的 我們就這麼叫元數據 實際的數據。 我認為,我們真正關心 這裡是FB,49,26。 是元數據的符號和價格 它描述的數據,我們 真正關心。 但是,這僅僅是這麼多 更容易訪問。 現在,一邊是什麼 我們付出的代價嗎? 我們一直在做這 在CS50週。 此功能必須拿出一些成本。 內存。 所以你不只是存儲一個32位 整數,例如。 你存儲符號/ 0,大概。 所以你使用更多的內存。 ,什麼是性能 在尋找的東西 關聯數組,可能嗎? 這也可能是更慢。 隨機訪問是不錯的,特別是 當你可以做二進制搜索。 但是,如果你現在實際上是在尋找不 數字,但對於字符串,這 真正下面實現 油煙機,可能作為一個哈希表, 你使用一個哈希表 單獨的鏈接。 或者你嘗試實際使用 存儲的值。 因此,也許你能做到恆定的時間,但 你還是得看S-Y-M-B-ó-L, 潛在的,而不是僅僅32 看起來位。 如此反复,這些同樣的想法 在此背景下備份復發。 但同樣,PHP現在有一些超級 全局,事實證明, 關聯數組。 我們看到剛才,$ _POST。 ,超級全局 有鑰匙和值。 具體而言,鍵 排隊什麼? 鑰匙在哪裡在$ _POST從何而來? 只要回顧一下? 觀眾:姓名。 揚聲器1:姓名,在哪裡? 觀眾:[聽不清] 揚聲器1:名稱的屬性。 那麼哪裡,哪裡他們 最初是從哪裡來的? 該表格。 因此,如果一個HTML頁面有一個表單標籤, 裡面是一些投入,如 檢查框,文本框,下拉 菜單,其中每一個都有一個名稱,那些 名稱最終在$ _POST鍵, 坦率地說,對於這個問題,$ _GET。 如果該方法是GET,同樣的想法。 它只是在不同的超級全局。 和的值,當然,來自 無論用戶在他或輸入 她的瀏覽器。 但是,還有一些其他的。 有餅乾,我們將 最終回來。 但那些知道的事情,你 網頁使用一些善或惡。 但是,我們會回來的。 服務器和會話,這兩個 有一些特殊的實用程序。 但是,讓我們來看看這個。 讓我去進取,不斷開拓的例子 所以MVC稱為mvc0.php 代表以下。 我們介紹這個比前面 典型的,真的,讓你設計 習題集7,也最終項目 行業排序 標準的方式,乾淨的方式。 這是很好的設計。 所以你看到了,你會 經驗,在P組7,範式,排序 編程的心態,看起來 有點這樣的事情。 M為控制器的型號,C, V查看。 長話短說,MVC是正中下懷 一種方法,一種使 網站,特別是,由此 把所有你的,愚蠢的短語 - 業務邏輯 - 所有您的知識產權 什麼叫做一個控制器,一個文件 喜歡的index.php,否則我們將看到的, quote.php或buy.php的。 的背景下,習題集7, 模型通常包含您的數據, 任何涉及到數據庫,我們會 最終看到的,和你的意見 包含你的美學 網站的HTML,CSS。 因此,我們已經看到了這一點在C 位使用。h文件。 我們真的看到了剛才用CSS, 通過分解的CSS風格化 出來的東西我們的HTML。 因此,MVC是真的只是繪製 線在沙說, 有趣的編程代碼為您 網站屬於什麼我們稱之為 控制器。 東西通常涉及到數據庫 結束了在一個模型。 但是你會看到,在習題集7,我們 C和M合併,以保持它的簡單。 但是,鑑於你的HTML 和美學通常會去。 所以,這是什麼意思,實質呢? 好吧,讓我進入我們的MVC 目錄,如下所示。 你會看到更多的這些 通過參觀在規範。 所以,在編碼對象,我聲稱,這是一樣, 版本CS50網站。 我們有一些HTML,像 一個大h1標籤,顯然。 然後,項目符號列表。 我從來沒有見過一個項目符號列表 過,但沒什麼大不了的。 讓我們快速看的源代碼。 原來無序列表子彈 是開括號微升與一個或 多個列表項,李。 因此,這裡是通知一個錨標記。 我們看到前那一刻。 所以這是我是如何實現 這一頁。 我有兩個環節,兩個列表項, 無序列表,UL和結束 結果,美觀,這是非常 漂亮的網站,這裡的版本0。 但現在有什麼有趣的是如何 是引擎蓋下實現的。 讓我進入gedit和打開這個 第一個例子來畫一幅畫。 我們來看看什麼是有缺陷的, 可能在這裡。 現在,如果我去到本地主機,公共, MVC中,發現了一些文件。 我要調用這些, 此刻,所有的控制器。 但是,這是一個有點濫用,因為 你會看到一切都混合 它們內部。 讓我走裡面的index.php。 我們看到,從字面上看,相同的HTML。 因此,即使這個文件結束 PHP,並不意味著它有 有任何PHP代碼。 它可以是原始的HTML,雖然 這是一種愚蠢。 但是請注意有沒有打開支架PHP 標記,除了這一點,其中,坦率地說, 只是作為評論。 但是,這是功能上並沒有 甚至是有趣的。 但是,注意到這一點。 現在有趣的是什麼 此頁面上的變化。 讓我單擊講課。 注意到的網址即將改變。 現在我在lectures.php。 讓我單擊為零。 現在我在week0.php現在讓 在gedit,我打開這些文件。 不只是指數,但讓 我開了講座。 讓我擺脫的意見 只專注於這部分。 現在我只是一個更開放, week0.php,扔掉的意見, 只是清理它。 現通知如下。 還真有幾分思考,仔細思考 設計,讓我們使它線 起來一樣,有什麼可以做 更好地在這裡,你覺得呢? 我怎麼做第一個星期嗎? 這個怎麼樣。 所以這是我做了第一個星期。 我去的文件,新建,粘貼,保存, 的week1.php,然後我就在這裡。 我改變 - 事情經過是這樣,一到週五。 我改變了零一。 我改變之一。 好了,現在看我的文件。 可以做什麼不同? 的機會在哪裡,也許? 所以有機會開始 保理這個東西。 讓我打開了,作為一個攪局者, 你會看到在P組7。 如果我打開了,現在版本的index.php 五本,它看起來方式 更神秘的,無可否認。 但是,現在,是什麼,我會叫 控制器的控制 我的頁面邏輯。 而且,您可以樣的重構, 直觀的,也許,發生了什麼事情。 在第一行上,它的 有點神秘。 但是請注意,我需要的,喜歡與 尖銳包括一個名為 helpers.php。 然後我打電話,顯然, 功能,被稱為渲染,通過 兩個參數。 其一是報價引文結束,頭。 另一種是,什麼樣的 數據類型是這樣的,基於 我們的語法同期? 這是一個關聯數組。 具體來說,它通過在標題中 一些元數據提醒 我它是什麼和它的價值。 然後,我看到一個硬編碼 UL,所以一些原始的HTML。 但後​​來我回到了PHP模式 調用一個函數渲染。 所以,即使你從來沒有使用HTML或PHP 之前,儘管這看起來 可怕的,這是為什麼可能 更好的設計嗎? 什麼是更好地了解它, 根據推斷? 觀眾:[聽不清] 揚聲器1:減多餘的 有沒有更多的HTML標籤,沒有更多的 頭標籤,沒有更多的身體標記 在每一個該死的文件。 相反,我已經考慮了 共性和大概把它們 主題相關到一個文件中 一個頭。 同樣的事情近身 標籤,密切HTML標籤。 這可能是在這裡裡面 的頁腳某處。 你會看到,在習題集7, 通過一個小的旅遊。 那麼,是什麼樣的吧? 有一件事,我們還沒有能力 但對於實際存儲數據。 還等什麼,我們就可以看到 星期三,例如,​​是 老朋友Excel或數字, 允許你存儲大量的 以行和列的數據。 原來你可以做什麼 稱為數據庫編程。 狂躁而事實證明,在這之後, 我們將能夠存儲諸如 這一點,你會再次看到在P組 7,一大堆的用戶名和 密碼,其中後者是 實際上是加密的,就像他們 p設定為2的黑客版。 最終,你會實現這一點, ETRADE自己的網站 實現統稱CS50金融。 最後,因為你在這裡住這麼晚 今天,如果你回來的這部分 校園,在今天下午4:00,我們將 不僅給你的意見,在SCES 諮詢洽談會,在下午4:00 麥克斯韋 - 德沃金,我們會給你一些 Americone夢,櫻桃加西亞, 巧克力布朗尼巧克力 片餅乾麵團,而且,當你谷歌 矮胖猴,你得到這個。 因此,所有等待4:00 PM在麥克斯韋 - 德沃金。 週三見。 揚聲器2:在接下來的 CS50,RJ的睡眠。 RJ:我的部分! 哈! 哦,